(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-05
(45)【発行日】2023-04-13
(54)【発明の名称】音源方向検出装置および音源方向検出プログラム
(51)【国際特許分類】
G10L 25/51 20130101AFI20230406BHJP
G01S 3/808 20060101ALI20230406BHJP
G10L 15/18 20130101ALI20230406BHJP
G10L 25/06 20130101ALI20230406BHJP
G10L 15/14 20060101ALI20230406BHJP
G10L 15/10 20060101ALI20230406BHJP
G10L 15/28 20130101ALI20230406BHJP
H04R 3/00 20060101ALI20230406BHJP
H04R 1/40 20060101ALI20230406BHJP
G06F 3/16 20060101ALI20230406BHJP
【FI】
G10L25/51 400
G01S3/808
G10L15/18 300G
G10L25/06
G10L15/14 200B
G10L15/10 500Z
G10L15/28 400
H04R3/00 320
H04R1/40 320A
G06F3/16 650
(21)【出願番号】P 2019088155
(22)【出願日】2019-05-08
【審査請求日】2022-04-15
(73)【特許権者】
【識別番号】501321394
【氏名又は名称】株式会社レイトロン
(74)【代理人】
【識別番号】110001586
【氏名又は名称】弁理士法人アイミー国際特許事務所
(72)【発明者】
【氏名】吉田 満次
(72)【発明者】
【氏名】角野 和也
【審査官】大石 剛
(56)【参考文献】
【文献】特開2004-109361(JP,A)
【文献】特開2012-149906(JP,A)
【文献】特開2018-081239(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 25/51
G01S 3/808
G10L 15/18
G10L 25/06
G10L 15/14
G10L 15/10
G10L 15/28
H04R 3/00
H04R 1/40
G06F 3/16
(57)【特許請求の範囲】
【請求項1】
音源の方向を検出する音源方向検出装置であって、
複数のマイクロフォンと、
前記複数のマイクロフォンのうちの少なくとも1つから得られる音信号に基づいて、音声を検出する音声検出部と、
前記複数のマイクロフォンから得られる複数の音信号に基づいて、前記音源の方向を認識する方向認識部とを備え、
前記方向認識部は、前記音声検出部で検出された音声の始端点よりも前の第1時間から前記始端点よりも後の第2時間までの区間内における音信号間の相関を算出することにより、前記音源の方向を判定する、音源方向検出装置。
【請求項2】
前記音声検出部は、ユーザが発したフレーズを認識するフレーズ認識部を含み、
前記方向認識部は、前記フレーズ認識部により認識されたフレーズが所定のキーワードである場合に、前記キーワードが発せられた前記音源の方向を検出する、請求項1に記載の音源方向検出装置。
【請求項3】
前記フレーズ認識部は、フレーズ認識の対象となる音声認識対象区間を検出し、前記音声認識対象区間内の音信号に基づいてフレーズを認識し、
前記方向認識部は、前記音声認識対象区間の始端時間を前記始端点として特定される方向認識対象区間内の音信号を切り出す切り出し手段と、前記切り出し手段により切り出された前記方向認識対象区間内の音信号間の相関を算出することにより、前記音源の方向を判定する判定手段とを含む、請求項2に記載の音源方向検出装置。
【請求項4】
前記フレーズ認識部は、ビタビアルゴリズムによりフレーズごとの尤度を算出して、ユーザが発したフレーズを推定し、
前記方向認識部は、前記フレーズ認識部においてフレーズの始端に相当する状態を示す音声フレームが検出された場合に、当該音声フレームの所定の時点を前記始端点として特定される方向認識対象区間内の音信号を切り出す切り出し手段と、前記切り出し手段により切り出された前記方向認識対象区間内の音信号間の相関を算出することにより、前記音源の方向を判定する判定手段とを含む、請求項2に記載の音源方向検出装置。
【請求項5】
前記始端点から遡る時間は、前記フレーズに応じて予め定められている、請求項2~4のいずれかに記載の音源方向検出装置。
【請求項6】
前記音声検出部は、悲鳴を検出する悲鳴検出部を含み、
前記方向認識部は、前記悲鳴検出部により悲鳴が検出された場合に、悲鳴が発せられた前記音源の方向を検出する、請求項1~5のいずれかに記載の音源方向検出装置。
【請求項7】
前記複数のマイクロフォンのうちの少なくとも1つから得られる音信号に基づいて、ノイズレベルを判定する判定部をさらに備え、
前記始端点から遡る時間は、ノイズレベルに応じて予め定められている、請求項1~6のいずれかに記載の音源方向検出装置。
【請求項8】
前記方向認識部による認識結果に基づいて特定される方向の情報を出力する出力手段をさらに備える、請求項1~7のいずれかに記載の音源方向検出装置。
【請求項9】
複数のマイクロフォンのうちの少なくとも1つから得られる音信号に基づいて、音声を検出するステップと、
前記複数のマイクロフォンから得られる複数の音信号から、前記検出するステップで検出された音声の始端点よりも前の第1時間から前記始端点よりも後の第2時間までの音信号を切り出すステップと、
切り出された音信号間の相関を算出することにより、音源の方向を判定するステップとをコンピュータに実行させる、音源方向検出プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音源方向検出装置および音源方向検出プログラムに関する。
【背景技術】
【0002】
従来から、複数のマイクロフォンから得られる音信号に基づいて、音源方向を検出する音源方向検出装置が提案されている。
【0003】
特許第4659556号公報(特許文献1)には、音声認識エンジン部において所定音声データ(所定の言葉など、所定の特徴を有する音データ)が認識された場合に、方向認識エンジン部において、所定音声データの発話開始点を検索し、発話開始点から反響音到達時間までの区間内で複数の音声入力装置から得られる音声データの位相差を計算し、計算した位相差と音声入力装置の位置情報とに基づいて、音源方向を検出することが開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記特許文献1の技術では、所定の言葉などを表わす所定音声データの始点(発話開始点)以降の音データに対して、複数のマイクロフォン間での相関をとっているため、雑音環境下において音源方向を精度良く検出することは困難である。
【0006】
本発明は、上記のような課題を解決するためになされたものであって、その目的は、雑音環境下において音源方向を精度良く検出することのできる音源方向検出装置およびプログラムを提供することである。
【課題を解決するための手段】
【0007】
この発明のある局面に従う音源方向検出装置は、音源の方向を検出する音源方向検出装置であって、複数のマイクロフォンと、複数のマイクロフォンのうちの少なくとも1つから得られる音信号に基づいて、音声を検出する音声検出部と、複数のマイクロフォンから得られる複数の音信号に基づいて、音源の方向を認識する方向認識部とを備える。方向認識部は、音声検出部で検出された音声の始端点よりも前の第1時間から始端点よりも後の第2時間までの区間内における音信号間の相関を算出することにより、音源の方向を判定する。
【0008】
好ましくは、音声検出部は、ユーザが発したフレーズを認識するフレーズ認識部を含む。この場合、方向認識部は、フレーズ認識部により認識されたフレーズが所定のキーワードである場合に、キーワードが発せられた音源の方向を検出することが望ましい。
【0009】
好ましくは、フレーズ認識部は、フレーズ認識の対象となる音声認識対象区間を検出し、音声認識対象区間内の音信号に基づいてフレーズを認識する。この場合、方向認識部は、音声認識対象区間の始端時間を始端点として特定される方向認識対象区間内の音信号を切り出す切り出し手段と、切り出し手段により切り出された方向認識対象区間内の音信号間の相関を算出することにより、音源の方向を判定する判定手段とを含むことが望ましい。
【0010】
あるいは、フレーズ認識部が、ビタビアルゴリズムによりフレーズごとの尤度を算出して、ユーザが発したフレーズを推定する場合、方向認識部の切り出し手段は、フレーズ認識部においてフレーズの始端に相当する状態を示す音声フレームが検出された場合に、当該音声フレームの所定の時点を始端点として特定される方向認識対象区間内の音信号を切り出してもよい。
【0011】
好ましくは、始端点から遡る時間は、フレーズに応じて予め定められている。
【0012】
音声検出部は、悲鳴を検出する悲鳴検出部を含んでいてもよい。この場合、方向認識部は、悲鳴検出部により悲鳴が検出された場合に、悲鳴が発せられた音源の方向を検出してもよい。
【0013】
好ましくは、音源方向検出装置は、複数のマイクロフォンのうちの少なくとも1つから得られる音信号に基づいて、ノイズレベルを判定する判定部をさらに備える。この場合、始端点から遡る時間は、ノイズレベルに応じて予め定められていることが、より望ましい。
【0014】
好ましくは、音源方向検出装置は、方向認識部による認識結果に基づいて特定される方向の情報を出力する出力手段をさらに備える。
【0015】
あるいは、上記の音源方向検出装置を、複数方向に移動可能な移動部を備えたロボットに適用してもよい。この場合、ロボットは、方向認識部による認識結果に基づいて特定される方向に応じて、移動部の移動制御を行う移動制御手段を備えていればよい。
【0016】
この発明の他の局面に従う音源方向検出プログラムは、複数のマイクロフォンのうちの少なくとも1つから得られる音信号に基づいて、音声を検出する検出ステップと、複数のマイクロフォンから得られる複数の音信号から、上記検出するステップで検出された音声の始端点よりも前の第1時間から始端点よりも後の第2時間までの音信号を切り出すステップと、切り出された音信号間の相関を算出することにより、音源の方向を判定するステップとをコンピュータに実行させる。
【発明の効果】
【0017】
本発明によれば、雑音環境下であっても音源方向を精度良く検出することができる。
【図面の簡単な説明】
【0018】
【
図1】本発明の各実施の形態に係る音源方向検出装置の概要を模式的に示す図である。
【
図2】本発明の各実施の形態に係る音源方向検出装置の全体構成を示すブロック図である。
【
図3】本発明の各実施の形態におけるフレーズ認識部の機能構成を模式的に示す機能ブロック図である。
【
図4】本発明の実施の形態1における方向認識部の機能構成を模式的に示す機能ブロック図である。
【
図5】本発明の実施の形態1における方向認識対象区間を説明するための図である。
【
図6】本発明の実施の形態1における方向認識部における方向判定方法を説明するための図である。
【
図7】本発明の実施の形態1における時間対応情報を概念的に示すデータテーブルである。
【
図8】本発明の実施の形態1に係る音源方向検出装置の動作を示すフローチャートである。
【
図9】本発明の実施の形態1の変形例1に係るロボットの全体構成を示すブロック図である。
【
図10】本発明の実施の形態2における方向認識部の機能構成を模式的に示す機能ブロック図である。
【発明を実施するための形態】
【0019】
本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
【0020】
(概要について)
はじめに、
図1を参照して、本実施の形態に係る音源方向検出装置1の概要について説明する。
【0021】
音源方向検出装置1は、複数のマイクロフォン11~13を備えており、マイクロフォン11~13のそれぞれから得られる複数の音信号に基づいて、音源方向(話者の方向)を検出する。なお、ここでは一例としてマイクロフォン11~13の個数を3個としているが、マイクロフォンの個数は複数個あればよい。
【0022】
本実施の形態に係る音源方向検出装置1は、音声を検出する音声検出部を備えている。音声検出部は、音声として、フレーズまたは悲鳴を検出する。音源方向検出装置1は、音声検出部において検出された音声の始端点の前後の音信号を用いて、音声が発せられた方向すなわち音源方向を検出する。本実施の形態に係る音源方向検出装置1は、音声検出部側において検出された音声の始端点から一定時間遡ることで、環境音や反響音の影響を低減し、雑音環境下においても音源方向を高精度に検出できるようにしている。以下に、音源方向検出装置1の構成および動作について具体的に説明する。
【0023】
<実施の形態1>
(全体構成について)
図2は、本実施の形態に係る音源方向検出装置1の全体構成を示すブロック図である。
【0024】
図2を参照して、音源方向検出装置1は、複数のマイクロフォン11~13を含むマイクロフォンアレイ10と、認識部20と、制御部30と、出力部40とを備えている。これら各部は、たとえば
図1に示したような筐体90に搭載されている。筐体90は上方から見て略円形状となっている。
【0025】
複数のマイクロフォン11~13は、同一平面(水平面)上に位置するように、筐体90に搭載されている。マイクロフォン11~13は、音源(話者)から発せられたフレーズを検知して音信号を生成する。以下の説明においては、マイクロフォン11~13をそれぞれマイク1~3という。マイク1~3は、円周方向に沿って等間隔(120°間隔)で配置されている。
【0026】
認識部20は、音声検出部としてのフレーズ認識部21と、音源方向を認識する方向認識部22とを含む。フレーズ認識部21は、複数のマイク1~3のうちの所定のマイク1から得られる音信号に基づいて、公知の手法によって、話者が発話した音声(フレーズ)を認識する。方向認識部22は、フレーズ認識部21によって所定のキーワードが認識された場合に、複数のマイク1~3から得られる複数の音信号に基づいて、話者の方向、すなわち音源方向を認識する。所定のキーワードは、たとえば、「こっち」、「あっち」、「前」、「右」など、(一次元の)方向に関連する言葉を含むフレーズである。なお、フレーズ認識部21および方向認識部22の機能構成については、後に詳述する。
【0027】
制御部30は、各種演算処理を実行するコントローラ31と、各種プログラムおよびデータを記憶するメモリ32とを含む。コントローラ31は、フレーズ認識部21および方向認識部22それぞれの認識結果に基づいて、出力部40の出力制御を行う。
【0028】
具体的には、コントローラ31は、その機能として、特定処理部(特定処理手段)33および出力制御部(出力制御手段)34を含む。特定処理部33および出力制御部34の機能は、典型的にはコントローラ31がメモリ32に記憶されたプログラムを読み出して実行することで実現される。
【0029】
特定処理部33は、フレーズ認識部21により認識されたフレーズが所定のキーワードである場合に、方向認識部22により認識された音源方向に基づいて、キーワードに対応する方向を特定する処理を行う。出力制御部34は、特定処理部33によってキーワードに対応する方向が特定されると、特定された方向の情報に基づいて出力部40の出力制御を行う。
【0030】
出力部40は、方向認識部22による認識結果に基づいて特定される方向の情報を出力するデバイスであり、たとえば
図1に示すような、複数のLED(Light Emitting Diode)41を含む。LED41は、筐体90に設けられ、同一平面(水平面)上において円周方向に等間隔で配置されている。LED41の個数は、マイク1~3の個数よりも多いことが望ましい。たとえば、キーワードが「こっち」である場合には、出力制御部34は、複数のLED41のうち、話者に最も近いLED41を点灯させる。
【0031】
出力部40は、LED41に加えて(または代えて)、スピーカ42、表示装置43などを含んでもよい。また、出力部40は、特定された方向の情報を、カメラなどの外部機器に出力する出力I/F(インターフェイス)44を含んでいてもよい。
【0032】
(フレーズ認識部の機能構成について)
図3は、フレーズ認識部21の機能構成を模式的に示す機能ブロック図である。
【0033】
フレーズ認識部21は、たとえばHMM(Hidden Markov Model)法に基づいて、予め登録されたフレーズを認識する。
図3に示されるように、フレーズ認識部21は、その機能として、分析部51と、区間検出部52と、推定部53と、棄却判定部54とを含む。
【0034】
分析部51は、マイク1から入力される音信号を所定の時間長のフレーム単位で切出し、フレーム単位で音信号を分析することで特徴量を算出する。たとえば、切出された音信号が、MFCC(Mel-frequency cepstral coefficient)特徴量に変換される。分析部51で算出された特徴量情報は、区間検出部52および推定部53に出力される。
【0035】
区間検出部52は、分析部51で算出された特徴量に基づいて、音声区間を検出する。具体的には、音信号を、所定の時間間隔のフレームに分割し、分割されたフレームごとに、音信号に含まれるパワー情報を抽出する。そして、抽出されたパワー情報に基づいて、発話された音声(フレーズ)の音声区間を検出する。
【0036】
区間検出部52で検出された区間情報(音声区間の始端時間および終端時間を示す情報)は、推定部53に出力されるとともに、方向認識部22にも出力される。なお、方向認識部22に出力される区間情報は、音声区間の始端時間の情報のみを含んでいてもよい。
【0037】
推定部53は、HMM記憶部53aに記憶されたモデルパラメータと、区間検出部52で検出された音声区間内の特徴量とに基づいて、話者が発したフレーズを推定(認識)する。具体的には、ビタビアルゴリズムに基づいて音声区間内における特徴量系列の各音響モデルに対する尤度を算出し、尤度が最も高い音響モデルが示すフレーズを、フレーズ候補(第1候補)として判定する。なお、各音響モデルは、フレーズの前後に無音を含んだ音声に対して作成されていてもよい。
【0038】
推定部53は、第1候補から第n候補(n:2以上の自然数)の情報と、それらの尤度の情報とを含む認識結果を、棄却判定部54に出力する。
【0039】
棄却判定部54は、各候補の尤度情報に基づいて、フレーズ候補を棄却するか否か(受理するか)を判定する。具体的には、推定部53において認識された第1候補の尤度が所定値以上であるか否か、第1候補と他候補との尤度差が所定値以上であるか否か、などを判断することにより、第1候補を受理するか否かを判定する。棄却判定部54により受理されたフレーズの情報が、方向認識部22および制御部30のコントローラ31に、音声認識結果として出力される。
【0040】
(方向認識部の機能構成について)
図4は、方向認識部22の機能構成を模式的に示す機能ブロック図である。
【0041】
方向認識部22は、メモリ61と、分析部(切り出し手段)62と、方向判定部(判定手段)63とを含む。分析部62および方向判定部63はそれぞれハードウェアで実現されてもよいし、ソフトウェアで実現されてもよい。
【0042】
メモリ61は、3個(または4個以上)のマイク1~3から入力される複数の音信号を一時記憶するとともに、フレーズ認識部21の区間検出部52から得られる区間情報、すなわち音声認識対象区間の情報を一時記憶する。なお、フレーズ認識部21において認識されたフレーズ(つまり、棄却判定部54において受理されたフレーズ)がキーワードを示す場合にのみ、区間情報および音声認識結果が方向認識部22に出力されてもよい。
【0043】
分析部62は、フレーズ認識部21の棄却判定部54から得られる音声認識結果(フレーズ)が所定のキーワードである場合に、メモリ61に記憶されていた複数の音信号を分析する。具体的には、メモリ61に記憶されていた音声認識対象区間の情報に基づいて、方向認識対象区間を特定し、複数の音信号のそれぞれから方向認識対象区間内の音信号を切り出す処理を行う。
【0044】
方向認識対象区間については、
図5の概念図を用いて説明する。
【0045】
図5には、マイク1から時間軸に沿って得られた音信号のデータのうち、フレーズ認識部21の区間検出部52によって検出された音声認識対象区間内のデータがハッチングで示されている。音声認識対象区間は、始端時間tsから終端時間teまでの区間である。
【0046】
本実施の形態における方向認識対象区間は、音声認識対象区間の始端時間tsよりも所定時間t1遡った時間(第1時間)TAから、始端時間tsよりも所定時間t2経過した時間(第2時間)TBまでの区間である。分析部62は、切り出し手段として機能し、マイク1~3それぞれの音データに対し、時間TAから時間TBまでの区間(期間)の音データを切り出す処理を行う。つまり、分析部62は、各マイク1~3より入力される音信号から、音声認識対象区間の始端時間tsを始端点として特定される方向認識対象区間内の音信号を切り出す。
図5では、分析部62によって切り出された音データが、「切り出し音データ」として示されている。
【0047】
本実施の形態では、このように、音声認識対象区間の始端時間tsよりも所定時間t1遡った時間TA以降の音データを、方向認識の対象としている。雑音環境下においては、話者の音声の始点(発話開始点)を検出することが困難であるため、方向認識対象区間に、無音声区間(雑音のみの区間)を含ませている。これにより、実際の発話開始点が音声認識対象区間よりも前であったとしても、方向認識対象区間に発話開始点が含まれ得る。
【0048】
音声認識対象区間の始端時間tsから遡る時間t1は、固定の時間であってもよいが、フレーズに応じて定められていてもよい。具体的には、フレーズの第一音の種類、すなわちフレーズ認識部21で認識されたフレーズ(キーワード)の第一音の種類に応じて定められていることが望ましい。この場合、第一音の種類は、少なくとも、子音および母音の二種類を含む。子音で始まるフレーズの場合、始端時間tsが実際の発話開始点よりも後にずれる可能性が高いため、第一音が子音の場合の時間t1は、第一音が母音の場合の時間t1よりも長くなるように設定される。
【0049】
なお、第一音の種類として、子音および母音の少なくとも一方をさらに細分化した小分類を設けてもよい。
【0050】
分析部62は、たとえば、音声認識結果(フレーズ)と時間t1とを対応付けて予め記憶した時間対応情報62aに基づいて、方向認識対象区間を特定することができる。なお、時間t2は、固定であってもよいし、フレーズに応じて定められていてもよい。後者の場合、全体の時間(時間t1+t2)を固定とし、フレーズごとに時間t1と時間t2との比率が定められていてもよい。
【0051】
時間t1はさらに、ノイズレベル(SNR)に応じて定められていることが望ましい。具体的には、ノイズレベルが高い程(つまり、SNRが低い程)、時間t1が長く設定されることが望ましい。この場合、音源方向検出装置1は、その機能として、マイク1~3のうちの少なくとも1つから得られる音信号に基づいて、ノイズレベルを判定する判定部(図示せず)を備える。
【0052】
時間対応情報62aの一例が、
図7に示される。
図7は、時間対応情報62aを概念的に示すデータテーブルである。ノイズレベルは、たとえば4段階設けられている。ここでは、SNR:20dB以上がレベル1、SNR:15dB以上(20dB未満)がレベル2、SNR:10dB以上(15dB未満)がレベル3、SNR:10dB未満がレベル4として定められていると仮定する。本実施の形態では、時間対応情報62aとして、キーワードとなるフレーズ(A,B,C,・・・)ごとに、ノイズレベル1~4それぞれに対応する時間t1が定められている。
【0053】
方向判定部63は、分析部62によって切り出された方向認識対象区間内の音信号(切り出し音データ)間の相関を算出することにより、音源の方向を判定する。つまり、音信号が到達する時間差を算出することにより、音源の方向を判定する。
【0054】
具体的には、
図6を参照して、切り出し音データに対して、フレーム単位でマイク1~3間の相関を算出し、相関の算出結果および予め記憶されたマイク1~3の位置情報63aに基づいて、方向の判定処理を行う。1フレームは10msに相当し、方向判定部63は、フレームを1/2ずつシフトさせて、判定処理を複数回実行する。方向認識対象区間全体の時間(t1+t2)は、少なくとも、1フレームに相当する時間(10ms)以上である。なお、1フレームに相当する時間は、10msに限定されず、たとえば5ms~100msの範囲で定めることができる。
【0055】
フレーム単位での判定処理自体は、公知の技術により実現可能である。なお、サンプリング周波数は、フレーズ認識部21で用いられるサンプリング周波数と同じであってよく、たとえば11.025kHzである。
【0056】
方向判定部63は、フレーム単位での方向判定処理を、方向認識対象区間内において繰り返し実行し、ルールベースに基づく判定によって最終結果を算出する。たとえば、全て(n個)の判定結果のうち同一方向を示す判定結果が所定パーセント(たとえば70パーセント)以上ある場合に、当該方向を最終結果として出力する。同一方向を示す判定結果が所定パーセント未満であれば、当該方向を最終結果とすることなく棄却する。
【0057】
このように、本実施の形態では、音声認識対象区間の始端部分の音だけでなく、声になる前の音も方向認識の対象とすることで、雑音環境下であっても音源方向を精度良く検出(判定)することができる。また、フレーズ認識部21と方向認識部22とを別のハードウェアで実現し、方向認識部22において音声認識対象区間を利用するため、高速に音源方向を検出することができる。
【0058】
また、音声認識対象区間の始端時間tsよりも遡る時間t1を、フレーズの第一音の種類(母音、子音、など)ごとに定めることで、高精度な方向認識を実現できる。また、本実施の形態のように、ノイズレベルに応じて時間t1を定めている場合には、認識精度をさらに向上させることが可能である。
【0059】
なお、方向認識部22は、フレーズ認識部21によって認識されたフレーズが所定のキーワードか否かに関わらず、フレーズ認識部21によって何らかのフレーズが認識された場合に音源方向の認識処理を行ってもよい。
【0060】
また、本実施の形態においては、方向認識に用いられる複数のマイク1~3のうちの一つが音声認識用のマイクを兼ねることとしたが、方向認識用のマイクと音声認識用のマイクとを別に設けてもよい。つまり、マイクロフォンアレイ10に含まれる4個以上のマイクのうちの1つを音声認識用とし、4個以上のマイクのうちの残り(3個以上のマイク)を方向認識用としてもよい。
【0061】
(音源方向検出方法について)
次に、音源方向検出装置1の動作、すなわち音源方向検出方法について説明する。
図8は、音源方向検出装置1の動作を示すフローチャートである。
【0062】
図8を参照して、マイク1~3に音が入力されると(ステップS1)、マイク1で生成された音信号がフレーズ認識部21に出力され、マイク1~3でそれぞれ生成された複数の音信号が方向認識部22に出力される。
【0063】
フレーズ認識部21の分析部51は、マイク1から得られる音信号を分析し、特徴量を算出する(ステップS3)。また、フレーズ認識部21の区間検出部52は、ステップS3で算出された特徴量に基づいて、音声認識対象区間を検出する(ステップS5)。音声対象認識区間が検出されると、方向認識部22は区間情報を取得し、取得した区間情報をメモリ61に一時記録する(ステップS11)。
【0064】
一方、方向認識部22は、フレーズ認識部21の区間検出部52が音声区間の始端を検出するまで、マイク1~3からの音信号をメモリ61に格納し続ける。メモリ61は、方向認識対象区間の全体時間(t1+t2)分の容量を有しており、音声区間の始端が検出されなければ、順次新しい音信号が上書きされる。音声区間の始端が検出されると、始端点(始端時間ts)からt1時間前までのデータへの上書きを禁止し、始端点からt2時間に達するまで音信号をメモリ61に格納する。始端点からt2時間までの音信号を格納した後は、フレーズ認識部21によるフレーズ認識が完了するまで待機する(ステップS11)。なお、メモリへの音信号の格納方法は、このような例に限定されず、たとえば、始端点以前のデータを格納するメモリと、始端点以降のデータを可能するメモリとを別に設けてもよい。
【0065】
フレーズ認識部21の推定部53は、HMM記憶部53aに記憶されたモデルパラメータと、ステップS5で検出された音声認識対象区間内の特徴量とに基づいてフレーズの認識処理を実行し、話者が発したフレーズを推定する(ステップS7)。フレーズ認識部21の棄却判定部54は、ステップS7で推定されたフレーズ(フレーズ候補)を棄却するか否かを判定する(ステップS9)。
【0066】
次に、方向認識部22は、ステップS9での判定結果、すなわち音声認識結果を取得すると、その認識結果が所定のキーワード(対象フレーズ)か否かを判定する(ステップS13)。キーワードか否かの判定処理は、分析部62によって行われる。音声認識結果が所定のキーワードでなければ(ステップS15にてno)、ステップS1に戻り、上記処理を繰り返す。
【0067】
音声認識結果が所定のキーワードであれば(ステップS15にてyes)、分析部62が、ステップS11で取得した区間情報に基づいて方向認識対象区間を特定し、マイク1~3それぞれから得られた音信号から、特定した方向認識対象区間内の音信号を切り出す(ステップS17)。方向認識対象区間は、上記した手法によって特定される。
【0068】
方向認識部22の方向判定部63は、フレーム単位で、マイク1~3それぞれに対応する複数の切り出し音データ間の相関を算出して方向を判定する(ステップS18)。これにより、複数(n個)の判定結果が得られると、方向判定部63は、ルールベースに基づき、最終結果となる方向を判定する(ステップS19)。方向判定部63による判定方法は、上述の通りである。
【0069】
方向判定部63により棄却判定された場合には(ステップS21にてyes)、上記ステップS1に戻る。棄却判定とは異なる場合には(ステップS21にてno)、ステップS19での判定結果が音源方向として検出される(ステップS23)。
【0070】
制御部30の特定処理部33は、ステップS23で検出された音源方向に基づいて、フレーズ認識部21により認識されたキーワードに対応する方向を特定する(ステップS25)。たとえば、認識されたキーワードが「あっち」である場合、ステップS23で検出された音源方向の反対側の方向を、キーワードに対応する方向として特定する。
【0071】
そして、制御部30の出力制御部34は、ステップS25で特定された方向の情報を、出力部40を介して出力する(ステップS27)。たとえば、複数のLED41のうち、特定された方向に位置するLED41を点灯させる。これにより、キーワードに対応する方向が報知される。
【0072】
出力制御部34が出力I/F(インターフェイス)44(
図2)を介して、特定された方向の情報を外部機器に出力する場合には、外部機器において、取得した方向の情報に応じて動作させることもできる。たとえば外部機器がカメラである場合には、特定された方向にカメラを向けたり、ズームしたりすることができる。このように、音源方向検出装置1と外部機器とを連動させてもよい。
【0073】
以上で、本実施の形態における音源方向検出処理は終了する。
【0074】
(変形例1)
実施の形態1では、
図5に示したように、音声認識対象区間の始端時間tsからt1時間遡ることとしたが、限定的ではない。つまり、方向認識対象区間の基準点となる「音声の始端点」は、区間検出部52において検出される音声認識対象区間の始端時間に限定されない。
【0075】
たとえば、フレーズ認識部21の推定部53は、ビタビアルゴリズムにより最も尤度の高いHMMを見付ける際に、バックトラックによってビタビ経路を求め、学習時に事前に見つけておいた音声区間の始端に相当する状態に遷移した音声フレームを検出できるため、推定部53によって検出される当該音声フレームの所定の時点を「音声の始端点」としてもよい。
【0076】
「音声の始端点」とする所定の時点は、典型的には、音声フレームの開始点が想定されるものの、限定的ではない。たとえば、フレーズごとに異なっていてもよい。その場合、
図7に示したデータテーブルのように、フレーズごとに、音声の始端点とする時間情報が予め定められていればよい。
【0077】
本変形例のように、HMMフレーズの音声区間の始端に相当する状態に遷移したタイミング(音声フレーム)を検出する場合、発話開始点を高精度に検出できる。したがって、本変形例によれば、音源方向の検出精度をさらに高めることができる。また、実施の形態1では、複数回の判定結果に基づいて最終結果を算出したが、本変形例によれば、1回の方向判定だけで最終結果を得ることも可能である。
【0078】
すなわち、本変形例においては、方向認識対象区間(TA~TB)を、理想的には1フレーム(10ms)とすることができる。この場合、上記した音声フレームの所定の時点を基準点とし、その前後に5ms(1/2フレームに相当する時間)ずつ拡張した区間を、切り出し音データとする。なお、音声フレームの所定の時点の信頼性に応じて、前後に拡張する時間を、10ms(1フレームに相当する時間)とし、2フレーム分の音信号を切り出し音データとしてもよい。
【0079】
なお、実施の形態1においても、(ノイズレベルに応じて)フレーズごとに適切な時間t1がシミュレーションソフト等により定められていれば、1回の方向判定だけで最終結果を確定可能である。
【0080】
(変形例2)
上述の音源方向検出装置1を、たとえばコミュニケーションロボットやお掃除ロボットなど、複数方向に移動可能な移動部を備えたロボットに適用してもよい。ロボット1Aの全体構成例を、
図9に示す。
【0081】
図9を参照して、ロボット1Aは、
図2に示したマイクロフォンアレイ10および認識部20を備えるとともに、制御部30Aおよび移動部40Aを備えている。移動部40Aは、たとえば、ロボット1A自体を床面等の水平面上で移動させる部材、あるいは、ロボット1Aの一部(たとえば腕部)を回動させる部材、などを含む。
【0082】
制御部30Aは、コントローラ31Aおよびメモリ32Aを含む。コントローラ31Aは、上記した特定処理部33を含み、上記した出力制御部34に代えて移動制御部35を含む。
【0083】
移動制御部35は、特定処理部33により特定された方向、すなわち、方向認識部22による認識結果に基づいて特定される方向に応じて、移動部40Aの移動制御を行う。たとえば、フレーズ認識部21によって「こっちにおいで」というキーワードが認識された場合には、移動制御部35は、方向認識部22によって認識された音源方向の方にロボット1Aが移動するように、移動部40Aの移動制御を行う。
【0084】
<実施の形態2>
上記実施の形態1における方向認識部は、フレーズ認識部によりフレーズ(キーワード)が認識されたことに応じて、音信号の切り出しおよび方向判定を行うものであった。これに対し、本実施の形態における方向認識部は、フレーズ認識部とは独立して、常時、方向判定を実行し、その判定結果を一時記憶しておく。そして、フレーズ認識部によりフレーズ(キーワード)が認識された場合に、フレーズに応じた判定結果を選択し、選択した判定結果に基づいて最終結果を算出する。以下に、本実施の形態において方向認識部が行う処理のうち、実施の形態1と異なる部分のみ詳細に説明する。
【0085】
図10は、本実施の形態に係る方向認識部22Aの機能構成を模式的に示す機能ブロック図である。方向認識部22Aは、方向判定部71と、メモリ72と、選択部73とを含む。
【0086】
方向判定部71は、マイク1~3それぞれから入力される複数の音信号に基づいて、常時、方向の判定処理を行う。方向判定部71は、方向認識対象区間の始点を所定時間ずつずらしながら、フレーム単位で複数の音信号間の相関を算出し、位置情報63aに基づいて方向を判定する。方向認識対象区間には、固定の時間分の音信号が含まれる。方向判定部71による判定結果が、メモリ72に時系列に記録される。
【0087】
メモリ72には、複数(m個)の判定結果が上書き保存される。メモリ72に保存する判定結果の個数は、方向認識対象区間の全体時間(t1+t2)に応じて定められる。
【0088】
方向判定部71は、音声認識対象区間の情報を取得すると、音声認識対象区間の始端時間(ts)、すなわち音声の始端点よりも前のt1時間分の判定結果への上書きを禁止し、始端点からt2時間分の判定結果をメモリ72に格納する。始端点からt2時間分の判定結果を格納した後は、フレーズ認識部21によるフレーズ認識が完了するまで待機する。
【0089】
選択部73は、フレーズ認識部21から音声認識結果(フレーズ)および区間情報を入力した場合に、時間対応情報62aを検索してフレーズに対応する時間t1を特定し、メモリ72に記憶された複数の判定結果の中から、時間t1+t2区間分の判定結果を選択する。そして、
図7のステップS19と同様に、時間t1+t2区間分の判定結果に基づいて、ルールベースで最終結果を算出する。
【0090】
本実施の形態によれば、メモリ72には、方向の判定結果だけが一時保存されるため、実施の形態1のように、複数の音信号を保存しておくメモリ61を不要とすることができる。したがって、実施の形態1よりも装置を小型化することができる。また、装置の製造コストを低減することができる。
【0091】
なお、本実施の形態においても、方向認識対象区間の基準となる「始端点」(
図5の「ts」に相当)は、音声認識対象区間の始端に相当するとして説明したが、限定的ではない。上述の変形例1と同様に、始端点は、学習時に事前に見つけておいたHMMフレーズの音声区間の始端に相当する状態(ノード番号)に遷移した時点に相当していてもよい。あるいは、音声認識結果としてのフレーズそのものの始端点に相当していてもよい。
【0092】
<実施の形態3>
上記実施の形態1、2では、フレーズ認識部によりフレーズが認識された場合に音源方向を検出することとしたが、限定的ではない。たとえば、悲鳴が検出された場合に、音源方向を検出してもよい。
【0093】
本実施の形態に係る音源方向検出装置1は、
図2に示したフレーズ認識部21に代えて(または、加えて)、音声検出部として悲鳴検出部(図示せず)を含む。悲鳴検出部は、たとえば特開2011-53557号公報において提案されている悲鳴検出方法に基づいて、悲鳴を検出する。
【0094】
本実施の形態においては、実施の形態2の方向認識部22Aと同様に、方向判定部が常時、方向判定を行うことが望ましい。悲鳴検出部によって悲鳴が検出された場合に、選択部が、悲鳴の始端よりもt1時間前からt2時間後までの期間の判定結果を選択する。悲鳴の始端から遡る時間t1もまた、(ノイズレベルに応じて)予めシミュレーションソフト等により定めておくことで、悲鳴が発せられた方向を精度良く検出することができる。
【0095】
なお、上述の音源方向検出方法は、プログラムとして提供することもできる。このようなプログラムは、CD-ROM(Compact Disc-ROM)などの光学媒体や、メモリカードなどのコンピュータ読取り可能な一時的でない(non-transitory)記録媒体にて記録させて提供することができる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【0096】
本発明にかかるプログラムは、コンピュータのオペレーティングシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
【0097】
また、本発明にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明にかかるプログラムに含まれ得る。
【0098】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0099】
1 音源方向検出装置、1A ロボット、10 マイクロフォンアレイ、11~13 マイクロフォン、21 フレーズ認識部、22,22A 方向認識部、30,30A 制御部、33 特定処理部、34 出力制御部、35 移動制御部、40 出力部、40A 移動部、90 筐体。