特許第6241790号(P6241790)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧 ▶ 大学共同利用機関法人情報・システム研究機構の特許一覧

特許6241790生成モデル作成装置、推定装置、それらの方法およびプログラム
<>
  • 特許6241790-生成モデル作成装置、推定装置、それらの方法およびプログラム 図000019
  • 特許6241790-生成モデル作成装置、推定装置、それらの方法およびプログラム 図000020
  • 特許6241790-生成モデル作成装置、推定装置、それらの方法およびプログラム 図000021
  • 特許6241790-生成モデル作成装置、推定装置、それらの方法およびプログラム 図000022
  • 特許6241790-生成モデル作成装置、推定装置、それらの方法およびプログラム 図000023
  • 特許6241790-生成モデル作成装置、推定装置、それらの方法およびプログラム 図000024
  • 特許6241790-生成モデル作成装置、推定装置、それらの方法およびプログラム 図000025
  • 特許6241790-生成モデル作成装置、推定装置、それらの方法およびプログラム 図000026
  • 特許6241790-生成モデル作成装置、推定装置、それらの方法およびプログラム 図000027
  • 特許6241790-生成モデル作成装置、推定装置、それらの方法およびプログラム 図000028
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6241790
(24)【登録日】2017年11月17日
(45)【発行日】2017年12月6日
(54)【発明の名称】生成モデル作成装置、推定装置、それらの方法およびプログラム
(51)【国際特許分類】
   G10L 15/10 20060101AFI20171127BHJP
   G10L 15/14 20060101ALI20171127BHJP
【FI】
   G10L15/10 500Z
   G10L15/14 153
【請求項の数】6
【全頁数】26
(21)【出願番号】特願2014-165407(P2014-165407)
(22)【出願日】2014年8月15日
(65)【公開番号】特開2016-42123(P2016-42123A)
(43)【公開日】2016年3月31日
【審査請求日】2016年11月7日
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(73)【特許権者】
【識別番号】504202472
【氏名又は名称】大学共同利用機関法人情報・システム研究機構
(74)【代理人】
【識別番号】100121706
【弁理士】
【氏名又は名称】中尾 直樹
(74)【代理人】
【識別番号】100128705
【弁理士】
【氏名又は名称】中村 幸雄
(74)【代理人】
【識別番号】100147773
【弁理士】
【氏名又は名称】義村 宗洋
(72)【発明者】
【氏名】井本 桂右
(72)【発明者】
【氏名】植松 尚
(72)【発明者】
【氏名】大室 仲
(72)【発明者】
【氏名】小野 順貴
【審査官】 上田 雄
(56)【参考文献】
【文献】 特開2014−048522(JP,A)
【文献】 井本桂右、外3名,音響イベント列を利用した音響シーン分析のためのモデル学習とオンライン化の検討,情報処理学会 研究報告 音楽情報科学(MUS) ,日本,一般社団法人情報処理学会,2014年 5月17日,2014−MUS−103,pp.1-6
【文献】 井本桂右、外2名,音響イベント列を利用した音響シーン分析のためのオンライン学習手法,日本音響学会 2014年 春季研究発表会講演論文集,日本,一般社団法人日本音響学会,2014年 3月 3日,pp.29-32
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/00−15/34
(57)【特許請求の範囲】
【請求項1】
時系列の音響信号列に対応する複数の音響イベント列を入力とし、音響イベントの遷移確率に基づき欠損した音響イベントを推定する欠損イベントモデル、音響イベントによって規定される潜在的な場の状況から各音響イベントが生成される確率を表す状況−音響イベント生成モデル、および各音響信号から各状況が生成される確率を表す音響信号−状況生成モデルを得る生成モデル作成装置。
【請求項2】
音響イベントの遷移確率に基づき欠損した音響イベントを推定する欠損イベントモデル、および、音響イベントによって規定される潜在的な場の状況から各音響イベントが生成される確率を表す状況−音響イベント生成モデルを格納する記憶部と、
音響イベントを含む時系列である音響イベント列を入力とし、前記欠損イベントモデルおよび前記状況−音響イベント生成モデルを用い、前記音響イベント列から欠損している音響イベントの推定、および、前記音響イベント列に対応する状況の推定を行う推定部と、
を有する推定装置。
【請求項3】
時系列の音響信号列に対応する音響イベント列を入力とし、音響イベントの遷移確率に基づき欠損した音響イベントを推定する欠損イベントモデル、音響イベントによって規定される潜在的な場の状況から各音響イベントが生成される確率を表す状況−音響イベント生成モデル、および各音響信号から各状況が生成される確率を表す音響信号−状況生成モデルを得る生成モデル作成方法。
【請求項4】
音響イベントの遷移確率に基づき欠損した音響イベントを推定する欠損イベントモデル、および、音響イベントによって規定される潜在的な場の状況から各音響イベントが生成される確率を表す状況−音響イベント生成モデルを記憶部に格納しておき、
音響イベントを含む時系列である音響イベント列を入力とし、前記欠損イベントモデルおよび前記状況−音響イベント生成モデルを用い、前記音響イベント列から欠損している音響イベントの推定、および、前記音響イベント列に対応する状況の推定を行う、推定方法。
【請求項5】
請求項1の生成モデル作成装置としてコンピュータを機能させるためのプログラム。
【請求項6】
請求項2の推定装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音響イベント列から状況を推定する技術に関する。
【背景技術】
【0002】
特許文献1に記載された従来技術では、連続する有限個の短時間フレームごとの「音響イベント」からなる「音響イベント列」の生成過程を、長時間の音響信号列から状況が生成される過程と、状況から音響イベントが生成される過程とを考慮してモデル化し、その生成モデルのパラメータを推定する。なお、「音響イベント」とは、短時間フレームごとの音響信号が表す音の事象(すなわち、音響信号が表す音が何の音であるか。例えば、足音、水が流れる音など)を表すラベルを意味する。従来技術では、上記生成モデルから長時間の音響信号ごとの状況の生成確率を分析したり、新たに入力された音響イベント列と生成モデルの類似度を算出することで、音響信号が示す状況を推定したりできる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2014−48522
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術では、生成モデルを精度よく推定するためには、あらかじめ欠損を含まない大規模な音響イベント列を用意する必要があった。
【0005】
本発明の課題は、欠損を含む音響イベント列であっても、生成モデルを精度よく推定できる技術を提供することである。
【課題を解決するための手段】
【0006】
時系列の音響信号列に対応する複数の音響イベント列を入力とし、音響イベントの遷移確率に基づき欠損した音響イベントを推定する欠損イベントモデル、音響イベントによって規定される潜在的な場の状況から各音響イベントが生成される確率を表す状況−音響イベント生成モデル、および各音響信号から各状況が生成される確率を表す音響信号−状況生成モデルを得る。
【発明の効果】
【0007】
状況−音響イベント生成モデルおよび音響信号−状況生成モデルに加え、欠損イベントモデルを得るため、欠損を含む音響イベント列であっても生成モデルを精度よく推定できる。
【図面の簡単な説明】
【0008】
図1図1は、実施例1−1の生成モデル生成装置の機能構成を例示したブロック図である。
図2図2は、実施例1−1の生成モデル生成方法を説明するためのフロー図である。
図3図3は、実施例1−1の変形例の生成モデル生成装置の機能構成を例示したブロック図である。
図4図4は、実施例1−2の生成モデル生成装置の機能構成を例示したブロック図である。
図5図5は、実施例1−3の生成モデル生成装置の機能構成を例示したブロック図である。
図6図6は、実施例2−1の推定装置の機能構成を例示したブロック図である。
図7図7は、推定部の機能構成を例示したブロック図である。
図8図8は、推定方法を説明するためのフロー図である。
図9図9は、実施例2−2の推定装置の機能構成を例示したブロック図である。
図10図10は、実施例2−3の推定装置の機能構成を例示したブロック図である。
【発明を実施するための形態】
【0009】
以下、図面を参照して本発明の実施形態を説明する。なお、同一構成要素ないし同一処理には同一符号を割り当てて重複説明を省略する。
【0010】
[用語の定義]
各実施例で用いる用語を定義する。
「音響イベント」とは、短時間フレームごとの音響信号が表す音の事象を表し、それぞれの音響イベントに対しては「音響イベントラベル」としてラベル付けすることができる。「短時間フレーム」とは、短時間(例えば、数10msec〜数sec)の時間区間を意味する。「音響イベント」の具体例は、「包丁の音」「水が流れる音」「水音」「着火音」「火の音」「足音」「掃除機の排気音」などを表すラベルである。「音響イベント列」とは、有限時間区間に属する短時間フレームごとの「音響イベント」を含む時系列である。言い換えると、「音響イベント列」は「音響イベント」を表すラベルを含む時系列である。「音響イベント列の音響イベントが欠損している」(略して「欠損」)とは、音響イベント列の何れかの短時間フレームに対して「音響イベント」が特定されていないことを意味する。「音響イベント」が特定されていない短時間フレームには「音響イベント」に代えて「欠損」を表す「欠損ラベル」が割り当てられる。そのため、音響イベント列の音響イベントが欠損している場合、音響イベント列は「音響イベント」を表すラベルと「欠損」を表す欠損ラベルとの時系列となる。また、「音響イベント」が特定されていない短時間フレームにラベルが割り当てられないことにしてもよい。この場合、音響イベント列は「音響イベント」を表すラベルの時系列であるが、その一部の短時間フレームにはラベルが割り当てられていない。「音響信号列」とは、各時間区間の音響信号からなる時系列である。音響信号列は1個以上の音響信号からなる。
【0011】
「状況」とは、音響イベントの組み合わせで特徴付けられた状況の種別(番号)である。言い換えると「状況」は、音響イベントによって規定される潜在的な場の状況を表す。状況の生成確率は、その状況が起こる時間区間での音響信号によって規定され、状況は、その状況が起こる時間区間での音響イベントの生成確率を規定する。
【0012】
「XからYが生成される確率」とは、事象Xが起こるという条件のもとでの事象Yが起こる確率P(Y|X)をいう。「XからYが生成される確率」は、「XがYを生成する確率」や「XのもとでのYの条件付き確率」や「XにおけるYの条件付き確率」とも表現できる。また「確率」とは0〜100%(すなわち0.00〜1.00)に正規化されたものであってもよいし、0〜100%に正規化可能な値であってもよい。
【0013】
[実施例1−1(図1)]
本実施例では、時系列の音響信号列に対応する複数の音響イベント列を入力とし、音響イベントの遷移確率に基づき欠損した音響イベントを推定する欠損イベントモデル、音響イベントによって規定される潜在的な場の状況から各音響イベントが生成される確率を表す状況−音響イベント生成モデル、および各音響信号から各状況が生成される確率を表す音響信号−状況生成モデルを得る。入力される音響イベント列は欠損を含み得る。さらに、その過程において、入力された音響イベント列に対応する状況の分析結果(推定された状況)を表す「状況ラベル」が生成されてもよいし、入力された音響イベント列に対応する音響イベントの分析結果(推定された音響イベント)を表す「音響イベントラベル」が生成されてもよい。
【0014】
<構成>
図1に例示するように、本実施例の生成モデル作成装置100は、音響イベント列合成部101、モデル化部102、および記憶部103を有する。モデル化部102は、音響イベント欠損判定部102a、モデル化処理部102b、モデル化/欠損推定処理部102c、収束判定部102d、初期設定部102e、および制御部102fを有する。生成モデル作成装置100は、例えば、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)やRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される装置である。このコンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路(circuitry)ではなく、単独で処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。また、1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。
【0015】
<モデル化処理>
図2を用いて本実施例のモデル化処理を説明する。
まず音響イベント列合成部101に、音響イベント列11−1,・・・,11−S(ただし、Sは1以上の整数)が入力される。音響イベント列11−s(ただし、s=1,・・・,S)は欠損を含み得る。すなわち、音響イベント列11−1,・・・,11−Sの少なくとも一部の短時間フレームの音響イベントが欠損していてもよいし、すべての音響イベント列11−1,・・・,11−Sが欠損していなくてもよい(すなわち、欠損が0個)。複数個の音響イベント列11−1,・・・,11−Sが音響イベント列合成部101に入力された場合、音響イベント列合成部101は、それらを時系列方向につなぎ合わせ、それによって1つの音響イベント列11を得て出力する(合成処理)。この際、つなぎ合わされる前のそれぞれの音響イベント列11−sの発生時間に関する情報をメモリ(図示せず)に保持しておく。これにより、後述の処理において、音響イベント列11に含まれる音響イベント列11−sの処理時間区間(後述)の前後関係を特定できる。また、音響イベント列合成部101に1つの音響イベント列11−1のみが入力された場合、音響イベント列合成部101はそれを音響イベント列11として出力する。音響イベント列合成部101から出力された音響イベント列11は、モデル化部102に入力される。なお、音響イベント列合成部101を経由することなく、1つの音響イベント列11がそのままモデル化部102に入力されてもよい(ステップS101)。
【0016】
音響イベント列11は、モデル化部102の初期設定部102eに入力される。初期設定部102eは、音響イベント列11の欠損に音響イベントの初期値を割り当てる(補完する)。この割り当てはランダムに行われてもよいし、予め定められたものであってもよい。音響イベント列11の欠損に音響イベントを割り当てて得られる列を「補完音響イベント列11’」と呼ぶ。すなわち、補完音響イベント列11’は、音響イベント列11を含む時系列であり、音響イベント列11に含まれる欠損以外の音響イベントと欠損に割り当てられた音響イベントとからなる。なお、音響イベント列11に欠損が存在しない場合には、音響イベントの初期値の割り当ては行われず、音響イベント列11そのものを補完音響イベント列11’とする。また初期設定部102eは、補完音響イベント列11’に含まれる各音響イベントに状況の初期値を割り当てる。この割り当てもランダムに行われてもよいし、予め定められたものであってもよい。各音響イベントに状況が割り当てられた補完音響イベント列11’を「状況ラベル付き補完音響イベント列11’’」と呼ぶ。すなわち、状況ラベル付き補完音響イベント列11’’は、補完音響イベント列11’とその各音響イベントに対応する状況を表す状況ラベルとを含む時系列である。また、状況ラベル付き補完音響イベント列11’’のうち、音響イベント列11−s(ただし、s=1,・・・,S)の時間区間に対応する部分を「状況ラベル付き補完音響イベント列11’’−s」と表記する。また、初期設定部102eは、状況ラベル付き補完音響イベント列11’’−sの「処理時間区間」(すなわち音響イベント列11の処理時間区間)を初期設定する。例えば、状況ラベル付き補完音響イベント列11’’−sの最初の短時間フレームを処理時間区間とする(ステップS102e)。
【0017】
状況ラベル付き補完音響イベント列11’’−s(ただし、s=1,・・・,S)は、音響イベント欠損判定部102aに入力される。音響イベント欠損判定部102aは、入力された状況ラベル付き補完音響イベント列11’’−sの処理時間区間の音響イベントがもともと欠損していたか(音響イベント列11−sの処理時間区間で音響イベントが欠損していたか)を判定する。すなわち、音響イベント欠損判定部102aは、処理時間区間の音響イベントが補完されたものであるかを判定する。ここで、処理時間区間の音響イベントがもともと欠損していなかった場合、音響イベント欠損判定部102aは、状況ラベル付き補完音響イベント列11’’をモデル化処理部102bに送る。一方、処理時間区間の音響イベントがもともと欠損していた場合、音響イベント欠損判定部102aは、状況ラベル付き補完音響イベント列11’’をモデル化/欠損推定処理部102cに送る(ステップS102a)。
【0018】
モデル化処理部102bは、送られた状況ラベル付き補完音響イベント列11’’−s(ただし、s=1,・・・,S)を用いて処理時間区間の状況ラベルの分布(例えば、確率分布、尤度分布、事後確率分布等)を更新し、当該分布に従って処理時間区間に新たな状況ラベルを付与し、それによって状況ラベル付き補完音響イベント列11’’−sの処理時間区間の状況ラベルを上書き更新する。この処理には、状況ラベル付き補完音響イベント列11’’−sに含まれた音響イベント列(音響イベント列11−sにもともと含まれていた音響イベントおよび処理時間区間以外の欠損に付与された音響イベントからなる列)、および状況ラベル付き補完音響イベント列11’’−sに含まれた処理時間区間以外の状況ラベルからなる列が用いられる(詳細は後述)。更新された状況ラベル付き補完音響イベント列11’’−sは、音響イベント欠損判定部102aに送られる(ステップS102b)。
【0019】
モデル化/欠損推定処理部102cは、送られた状況ラベル付き補完音響イベント列11’’−s(ただし、s=1,・・・,S)を用いて処理時間区間の状況ラベルおよび音響イベントの分布(例えば、確率分布、尤度分布、事後確率分布等)を更新し、当該分布に従って処理時間区間に新たな状況ラベルおよび音響イベントを付与し、それらによって状況ラベル付き補完音響イベント列11’’−sの処理時間区間の状況ラベルおよび音響イベントラベルを上書き更新する。この処理には、状況ラベル付き補完音響イベント列11’’−sに含まれた処理時間区間以外の音響イベント列(音響イベント列11−sにもともと含まれていた音響イベントおよび処理時間区間以外の欠損に付与された音響イベントからなる列)、および状況ラベル付き補完音響イベント列11’’−sに含まれた処理時間区間以外の状況ラベルからなる列が用いられる(詳細は後述)。更新された状況ラベル付き補完音響イベント列11’’−sは、音響イベント欠損判定部102aに送られる(ステップS102c)
【0020】
その後、制御部102fは、状況ラベル付き補完音響イベント列11’’の全ての時間区間についてステップS102a〜S102cの処理が実行されたかを判定する(ステップS102fa)。ここで、全ての時間区間についてステップS102a〜S102cの処理が実行されていない場合、制御部102fは、処理時間区間を更新し(例えば、現在の処理時間区間の次の短時間フレームを新たな処理時間区間とする)、処理をステップS102aに戻す(ステップS102fb)。一方、全ての時間区間についてステップS102a〜S102cの処理が実行されていた場合、音響イベント欠損判定部102aは、状況ラベル付き補完音響イベント列11’’を収束判定部102dに送る。
【0021】
収束判定部102dは、所定の収束条件を満たしたか否かを判定する(収束判定処理)。収束条件は、所定の結果が得られたという条件であってもよいし、モデル化部102の処理が所定の回数繰り返されたという条件であってもよい。「所定の回数」は正値であり、例えば、1〜3000回程度である。「所定の結果」の例は、割り当ての前後において、前述の分布(例えば、確率分布、尤度分布、事後確率分布等)や状況ラベルの変化率またはその関数値(例えば、平均や合計)が所定値(例えば、0.3%)以下である等である(ステップS102da)。
【0022】
ここで、収束条件を満たしていないと判定された場合、状況ラベル付き補完音響イベント列11’’が音響イベント欠損判定部102aに送られ、「処理時間区間」が初期化され(例えば、状況ラベル付き補完音響イベント列11’’−sの最初の短時間フレームを処理時間区間とし)、処理がステップ102aに戻される。
【0023】
一方、収束条件を満たしたと判定された場合、収束判定部102dは、状況ラベル付き補完音響イベント列11’’の状況ラベルおよび音響イベント列に基づいて、音響イベントの遷移確率に基づき欠損した音響イベントを推定する欠損イベントモデル14、状況から各音響イベントが生成される確率を表す状況−音響イベント生成モデル13、および各音響信号から各状況が生成される確率を表す音響信号−状況生成モデル12を得て出力する。さらに収束判定部102dは、欠損イベントモデル14に基づいて、音響イベント列11の各欠損に対し、音響イベント列11が与えられた場合の音響イベントの分布(例えば、確率分布、尤度分布、事後確率分布等)が最大となる音響イベント、当該分布(例えば、確率分布、尤度分布、事後確率分布等)が最大から規定番目までとなる音響イベント、または当該分布(例えば、確率分布、尤度分布、事後確率分布等)が所定の閾値を超える音響イベントを音響イベントラベル16として出力してもよい。また、収束判定部102dは、モデル化/欠損推定処理部による更新の結果得られた状況ラベルの分布(例えば、確率分布、尤度分布、事後確率分布等)を用い、状況ラベル付き補完音響イベント列11’’の各音響イベントに対応する状況の分布(例えば、確率分布、尤度分布、事後確率分布等)が最大となる状況、当該分布(例えば、確率分布、尤度分布、事後確率分布等)が最大から規定番目までとなる状況、または当該分布(例えば、確率分布、尤度分布、事後確率分布等)が所定の閾値を超える状況を表すラベルを状況ラベル15として出力してもよい。モデルやラベルは記憶部103に格納される(ステップS102db)。
【0024】
≪モデル化処理部102bの処理(ステップS102b)の例示≫
モデル化処理部102bは、例えば、以下の処理(b-i)または(b-ii)によって、処理時間区間の状況ラベルの分布を更新する。
【0025】
(b-i)状況ラベル付き補完音響イベント列11’’−s(ただし、s=1,・・・,S)に含まれる音響イベント列および状況ラベルのうち、処理時間区間以外の音響イベントおよび状況ラベルからなる列に対し、音響信号から各状況が生成される第1確率分布と、それぞれの状況から音響イベントが生成される第2確率分布とを仮定する。モデル化処理部102bは、状況ラベル付き補完音響イベント列11’’−s(ただし、s=1,・・・,S)が入力されると、当該状況ラベル付き補完音響イベント列11’’−sに含まれた音響イベント列および状況ラベル付き補完音響イベント列11’’−sに含まれた処理時間区間以外の音響イベントおよび状況ラベルからなる列を用い、当該状況ラベル付き補完音響イベント列11’’−sにおける第1および第2確率分布の事後確率を更新し、これらの確率分布に従って、サンプリングなどの方法により選択された状況ラベルを、処理時間区間に対する新たな状況ラベルとして付与し、それによって状況ラベル付き補完音響イベント列11’’−sの処理時間区間の状況ラベルを上書き更新する。これらの処理は、状況ラベル付き補完音響イベント列11’’−s(ただし、s=1,・・・,S)に含まれる音響イベント列および状況ラベルに対する、音響信号から各状況が生成される確率分布と、それぞれの状況から音響イベントが生成される確率分布の事後確率を最大化するものである。これによって更新された状況ラベル付き補完音響イベント列11’’−sは、音響イベント欠損判定部102aに送られる(ステップS102b)。
【0026】
(b-ii)状況ラベル付き補完音響イベント列11’’−s(ただし、s=1,・・・,S)に含まれた音響イベント列および状況ラベルのうち、処理時間区間以外の音響イベントおよび状況ラベルからなる列に対し、音響信号から各状況が生成される第1確率分布の第1事前分布、およびそれぞれの状況から音響イベントが生成される第2確率分布の第2事前分布も仮定し、第1事前分布が乗じられた第1確率分布および第2事前分布が乗じられた第2確率分布を仮定する。モデル化処理部102bは、状況ラベル付き補完音響イベント列11’’−s(ただし、s=1,・・・,S)が入力されると、当該状況ラベル付き補完音響イベント列11’’−sに含まれた音響イベント列および状況ラベル付き補完音響イベント列11’’−sに含まれた処理時間区間以外の音響イベントおよび状況ラベルからなる列を用い、当該状況ラベル付き補完音響イベント列11’’−sにおける第1および第2確率分布の事後確率を更新し、これらの確率分布に従って、サンプリングなどの方法により選択された状況ラベルを、処理時間区間に対する新たな状況ラベルとして付与し、それによって状況ラベル付き補完音響イベント列11’’−sの処理時間区間の状況ラベルを上書き更新する。これらの処理は状況ラベル付き補完音響イベント列11’’−s(ただし、s=1,・・・,S)に含まれる音響イベント列および状況ラベルに対する、音響信号から各状況が生成される確率分布と、それぞれの状況から音響イベントが生成される確率分布の事後確率を最大化するものである。これによって更新された状況ラベル付き補完音響イベント列11’’−sは、音響イベント欠損判定部102aに送られる(ステップS102b)。
【0027】
≪モデル化/欠損推定処理部102cの処理(ステップS102c)の例示≫
モデル化/欠損推定処理部102cは、例えば、以下の処理(c-i)または(c-ii)の何れかによって、処理時間区間の状況ラベルおよび音響イベントの分布を更新する。
【0028】
(c-i)状況ラベル付き補完音響イベント列11’’−s(ただし、s=1,・・・,S)に含まれた処理時間区間以外の音響イベント列および処理時間区間以外の状況ラベルからなる列に対し、音響信号から各状況が生成される第1確率分布と、それぞれの状況から音響イベントが生成される第2確率分布と、ある音響イベントが発生した次の時間区間での各音響イベントが生成される第3確率分布(より長時間の音響イベントの遷移を考えても良い)とを仮定する。モデル化処理部102bは、状況ラベル付き補完音響イベント列11’’−s(ただし、s=1,・・・,S)が入力されると、当該状況ラベル付き補完音響イベント列11’’−sにおける第1〜第3確率分布の事後確率を更新し、これらの確率分布に従って、サンプリングなどの方法により選択された状況ラベルおよび音響イベントを、処理時間区間に対する新たな状況ラベルおよび音響イベントとして付与し、それによって状況ラベル付き補完音響イベント列11’’−sの処理時間区間の状況ラベルおよび音響イベントを上書き更新する。これらの処理は状況ラベル付き補完音響イベント列11’’−s(ただし、s=1,・・・,S)に含まれる音響イベント列および状況ラベルに対する、音響信号から各状況が生成される確率分布と、それぞれの状況から音響イベントが生成される確率分布と、ある音響イベントが発生した次の時間区間での各音響イベントが生成される確率分布(より長時間の音響イベントの遷移を考えても良い)の事後確率を最大化するものである。これによって更新された状況ラベル付き補完音響イベント列11’’−sは、音響イベント欠損判定部102aに送られる(ステップS102c)。
【0029】
(c-ii)状況ラベル付き補完音響イベント列11’’−s(ただし、s=1,・・・,S)に含まれた処理時間区間以外の音響イベント列および処理時間区間以外の状況ラベルからなる列に対し、音響信号から各状況が生成される第1確率分布の第1事前分布、それぞれの状況から音響イベントが生成される第2確率分布の第2事前分布、ある音響イベントが発生した次時間区間での各音響イベントが生成される第3確率分布(より長時間の音響イベントの遷移を考えても良い)の第3事前分布も仮定する。また、第1事前分布が乗じられた第1確率分布、第2事前分布が乗じられた第2確率分布、および第3事前分布が乗じられた第3確率分布を仮定する。モデル化処理部102bは、状況ラベル付き補完音響イベント列11’’−s(ただし、s=1,・・・,S)が入力されると、当該状況ラベル付き補完音響イベント列11’’−sにおける第1〜第3確率分布の事後確率を更新し、これらの確率分布に従って、サンプリングなどの方法により選択された状況ラベルおよび音響イベントを、処理時間区間に対する新たな状況ラベルおよび音響イベントとして付与し、それによって状況ラベル付き補完音響イベント列11’’−sの処理時間区間の状況ラベルおよび音響イベントを上書き更新する。これらの処理は状況ラベル付き補完音響イベント列11’’−s(ただし、s=1,・・・,S)に含まれる音響イベント列および状況ラベルに対する、音響信号から各状況が生成される確率分布と、それぞれの状況から音響イベントが生成される確率分布と、ある音響イベントが発生した次の時間区間での各音響イベントが生成される確率分布(より長時間の音響イベントの遷移を考えても良い)の事後確率を最大化するものである。これによって更新された状況ラベル付き補完音響イベント列11’’−sは、音響イベント欠損判定部102aに送られる(ステップS102c)。
【0030】
≪モデル化処理の具体例≫
以下に、モデル化処理部102bの処理(ステップS102b)として(b-i)または(b-ii)を用い、モデル化/欠損推定処理部102cの処理(ステップS102c)として(c-i)または(c-ii)を用いる場合のモデル化処理をより具体的に例示する。
【0031】
≪状況から音響イベントが生成される過程の論理的説明≫
モデル化部102は、入力された音響イベント列11から、各音響信号から状況が生成される確率P(状況|音響信号)、状況から音響イベントが生成される確率P(音響イベント|状況)、および音響イベントの遷移確率を同時に算出し、それぞれを音響信号−状況生成モデル12、状況−音響イベント生成モデル13、および欠損イベントモデル14とする。つまり、音響信号ごとに状況の生成確率が規定されており、また、音響イベントの生成確率は、状況とその音響イベントの前後の音響イベントにより規定されると考え、これらの関係を生成モデルとして記述する。音響イベントの生成は状況とその音響イベントの前後の音響イベントにより規定されると考えると、欠損を含む音響イベントは状況とその音響イベント前後の音響イベントから推定可能になると考えられる。なお、「音響信号列」は複数の長時間の音響信号からなる列を意味する。「長時間」とは前述の「短時間」よりも長い期間である。「音響信号列」を「複数の音響イベント列」と読み替えても良い。
【0032】
音響信号列から状況が生成される確率Θ(S×T行列)、状況から音響イベントが生成される確率Φ(T×M行列)、および音響イベント間の遷移確率Π(M×M行列)が与えられたときの、合成された音響イベント列eの生成確率P(e|Π,Θ,Φ,Ω)は以下の通りである。
【数1】

なお、音響イベント列eは音響イベントの列(例えばベクトル)であり、音響イベント列11そのものであってもよいし、音響イベント列11の一部の音響イベント列であってもよい。以下では説明の簡略化のため、音響イベント列eが音響イベント列11そのものである例を示す。Sは音響イベント列eに含まれる音響イベント列η(ただし、s∈{1,・・・,S})の個数である。なお、ここでは音響イベント列11−sを音響イベント列ηとするが、これは本発明を限定するものではない。Ωは音響イベント列eに対応する音響信号列であり、ε(ただし、s∈{1,・・・,S})は音響イベント列ηに対応する音響信号である。Tは状況の種類(候補)の総数、Mは音響イベントの種類の総数、t∈{1,・・・,T}は状況の種類を表すインデックス、m∈{1,・・・,M}は音響イベントの種類を表すインデックスである。Πは単時間フレームの音響イベントm∈{1,・・・,M}がその次の短時間フレームで音響イベントm’∈{1,・・・,M}に遷移する確率を(m,m’)要素とするM×M行列である。Θは音響信号ε(ただし、s∈{1,・・・,S})が状況t(ただし、t∈{1,・・・,T})を生成する確率P(t|ε)を(s,t)要素とするS×T行列である。Φは状況t(ただし、t∈{1,・・・,T})が音響イベントm(ただし、m∈{1,・・・,M})を生成する確率P(m|t)を(t,m)要素とするT×M行列である。
【0033】
また、事前分布のパラメータγ,α,βが与えられたときの、音響イベント列ηの生成確率P(η,Π,Θ,Φ|γ,α,β)は、以下の通りである。
【数2】

ただし、γは各音響イベントm(ただし、m∈{1,・・・,M})が次の短時間フレームで音響イベントm’(ただし、m∈{1,・・・,M})に遷移する確率をm’番目の要素としたM次元ベクトルである音響イベント遷移確率πの事前分布(Dirichlet分布に従うものとする)のパラメータを表す。αは各音響信号ε(ただし、s∈{1,・・・,S})が状況t(ただし、t∈{1,・・・,T})を生成する確率をt番目の要素とするT次元ベクトルである生成確率θの事前分布(Dirichlet分布に従うものとする)のパラメータを表す。βは各状況tが音響イベントm(ただし、m∈{1,・・・,M})を生成する確率をm番目の要素とするM次元ベクトルである生成確率φの事前分布(Dirichlet分布に従うものとする)のパラメータを表す。eは音響イベント列ηの先頭からi番目の短時間フレームの音響イベント、zは音響イベントeに対応する状況を表す。
【数3】

は、音響イベント列ηの先頭からi−1番目の音響イベントei−1からi番目の音響イベントeへの遷移確率を表す。
【数4】

は、音響イベント列ηに含まれる音響イベントの個数を表す。DirはDirichlet分布の確率密度関数を表す。W−1次(Wは2以上の整数)のDirichlet分布の確率密度関数は以下の通りである。
【数5】

ただし、τはτ(i=1,...,W)からなるパラメータ、もしくは単一のスカラー値である。また、μは確率変数、Γはガンマ関数を表す。
【0034】
≪生成モデルの算出過程の説明≫
上記の生成過程に基づいて、例えばマルコフ連鎖モンテカルロ法(MCMC法:Markov Chain Monte Carlo methods)や変分ベイズ法(VB法:Variational Bayes methods)などの手法を適用することで、音響信号−状況生成モデル12、状況−音響イベント生成モデル13、および欠損イベントモデル14を算出することができる。MCMC法には,M−Hアルゴリズムやギブスサンプリングなどの手法がある。ここでは一例としてギブスサンプリングによる生成モデルの算出手法を説明する。
【0035】
事前処理としてパラメータγ,α,βが定められる。パラメータγ,α,βの値に制約はないが、モデル化処理部102bの処理として(b-i)を用い、モデル化/欠損推定処理部102cの処理として(c-i)を用いる場合にはγ=α=β=0とする。
【0036】
前述のように得られた音響イベント列11は、モデル化部102の初期設定部102eに入力される(ステップS101)。初期設定部102eは、入力された音響イベント列11に含まれるすべての音響イベント列eの全ての音響イベントeに状況t(ただし、t∈{1,・・・,T})を割り当てる。この割り当てはランダムに行われてもよいし、予め初期設定部102eに保持しておいた割り当てであってもよい。また、初期設定部102eは、入力された音響イベント列11に含まれるすべての音響イベント列eの欠損(何れかの短時間フレームに対応)に音響イベントm(ただし、m∈{1,・・・,M})を割り当てる。この割り当てはランダムに行われてもよいし、予め初期設定部102eに保持しておいた割り当てであってもよい。以上のように初期の状況ラベル付き補完音響イベント列11’’−s(ただし、s=1,・・・,S)が得られる。また、初期設定部102eは、状況ラベル付き補完音響イベント列11’’−sの「処理時間区間」を初期設定する。この例では、音響イベント列e(音響イベント列11)に含まれる音響イベント列η(音響イベント列11−s)の先頭からi番目の短時間フレームを「処理時間区間」とし、初期設定部102eは、i=1を初期設定する(ステップS102e)。
【0037】
状況ラベル付き補完音響イベント列11’’−s(ただし、s=1,・・・,S)は、音響イベント欠損判定部102aに入力される。音響イベント欠損判定部102aは、音響イベント列ηのi番目の短時間フレームの音響イベントeがもともと欠損していたかを判定する。ここで、音響イベントeがもともと欠損していなかった場合、音響イベント欠損判定部102aは、状況ラベル付き補完音響イベント列11’’−s(ただし、s=1,・・・,S)をモデル化処理部102bに送る(ステップS102bに進む)。一方、音響イベントeがもともと欠損していた場合、音響イベント欠損判定部102aは、状況ラベル付き補完音響イベント列11’’−s(ただし、s=1,・・・,S)をモデル化/欠損推定処理部102cに送る(ステップS102cに進む)(ステップS102a)。
【0038】
モデル化処理部102bは、入力された状況ラベル付き補完音響イベント列11’’−s(ただし、s=1,・・・,S)のうち、音響イベント列ηと、更新対象となるi番目の短時間フレームの状況zを除いた状況の列z−i(除くのはi番目の状況zの1つのみであり、z=tとなる状況全てを除くのではないことに注意)とを用い、以下のようにi番目の短時間フレームの音響イベントeに状況z=tが割り当てられる確率分布P(z=t|z−i,e,α,β,γ)を更新する。
【数6】

ただし、nは、状況tに割り当てられた音響イベントのうち音響イベントがmであるものの個数を表す。nは音響イベント列ηの全ての音響イベントのうち状況tに割り当てられた音響イベントの個数を表す。なお、「n」の下付き添え字「m」は上付き添え字「t」の真下に記載すべきであるが、記載表記の制約上「n」と表記した。「n」も同様である。さらにモデル化処理部102bは、上述のように更新された確率分布P(z=t|z−i,α,β,γ)に従って、i番目の短時間フレームの状況zをサンプリングし、サンプリングした状況z=tを表す状況ラベルを音響イベントeに割り当て、それによって状況ラベル付き補完音響イベント列11’’−sを上書き更新する。更新された状況ラベル付き補完音響イベント列11’’−sは、音響イベント欠損判定部102aに送られる(ステップS102b)。
【0039】
モデル化/欠損推定処理部102cは、入力された状況ラベル付き補完音響イベント列11’’−s(ただし、s=1,・・・,S)のうち、更新対象となるi番目の短時間フレームの音響イベントeを除いた音響イベント列e−iと、状況zを除いた状況の列z−i(除くのはi番目の状況zの1つのみであり、z=tとなる状況全てを除くのではないことに注意)を用い、以下のようにi番目の短時間フレームに音響イベントe=mおよび状況z=tが割り当てられる確率分布P(z=t,e=m|z−i,e−i,α,β,γ)を更新する。
【数7】
ただし、
【数8】

は入力された全ての状況ラベル付き補完音響イベント列11’’−s(ただし、s=1,・・・,S)の全ての音響イベントのうち、音響イベントeが示すイベントmeiからイベントmei+1に遷移する音響イベントの個数を表す。またI(mei−1=mei)は、mei−1=meiのときに1となり、それ以外のときに0となる。同様にI(mei=mei+1)は、mei=mei+1のときに1となり、それ以外のときに0となる。さらにモデル化/欠損推定処理部102cは、上述のように更新された確率分布P(z=t,e=m|z−i,e−i,α,β,γ)に従って、i番目の短時間フレームの状況zおよび音響イベントeをサンプリングし、当該状況zを表す状況ラベルおよび当該音響イベントeをi番目の短時間フレームに割り当て、それによって状況ラベル付き補完音響イベント列11’’−sを上書き更新する。更新された状況ラベル付き補完音響イベント列11’’−sは、音響イベント欠損判定部102aに送られる(ステップS102c)。
【0040】
ステップS102bまたはS102cの後、制御部102fは状況ラベル付き補完音響イベント列11’’の全ての時間区間についてステップS102a〜S102cの処理が実行されたかを判定する(ステップS102fa)。ここで、全ての時間区間についてステップS102a〜S102cの処理が実行されていない場合、制御部102fは、i+1を新たなiとして処理時間区間を更新し、処理をステップS102aに戻す(ステップS102fb)。一方、全ての時間区間についてステップS102a〜S102cの処理が実行されていた場合、音響イベント欠損判定部102aは、状況ラベル付き補完音響イベント列11’’を収束判定部10dに送る。
【0041】
収束判定部102dは、前述のように所定の収束条件を満たしたか否かを判定する(ステップS102da)。ここで、収束条件を満たしていないと判定された場合、状況ラベル付き補完音響イベント列11’’が音響イベント欠損判定部102aに送られ、処理がステップ102aに戻される。
【0042】
一方、収束条件を満たしたと判定された場合、収束判定部102dは、繰り返しの結果、最終的に得られた状況ラベル付き補完音響イベント列11’’に対応する
【数9】

に対して以下を計算することにより、音響信号−状況生成モデル12、状況−音響イベント生成モデル13、および欠損イベントモデル14を得て出力する。
≪音響信号−状況生成モデル12≫
【数10】

≪状況−音響イベント生成モデル13≫
【数11】

≪欠損イベントモデル14≫
【数12】
【0043】
また、収束判定部102dは、収束条件を満たすまでの途中過程の各状況ラベル付き補完音響イベント列11’’に対応する式(5)の値をそれぞれ1個以上サンプリングし、それらと最終的に得られた式(5)の値とを用い、音響信号−状況生成モデル12、状況−音響イベント生成モデル13、および欠損イベントモデル14を得てもよい。例えば、このように複数個得られた式(5)の値をそれぞれ平均した
【数13】


【数14】

の代わりに用い、式(6)〜(8)に従って音響信号−状況生成モデル12、状況−音響イベント生成モデル13、および欠損イベントモデル14を得てもよい。これにより、より適切なモデルを得ることができる。
【0044】
さらに収束判定部102dは、前述したような状況ラベル15に加え、または代えて、上記更新過程で割り当てられた状況またはそれらの平均値を表す状況ラベル15を出力してもよい。また、上記更新過程で割り当てられた状況の分布等の統計的な情報を出力してもよい。各音響イベントがどの状況により生成されたものかを知ることもできる。また収束判定部102dは、前述したような音響イベントラベル16に加え、または代えて、上記更新過程で割り当てられた音響イベントまたはそれらの平均値を表す音響イベントラベル16を出力してもよい。また、上記更新過程で割り当てられた響イベントの分布等の統計的な情報を出力してもよい。これにより、欠損したイベントを推定することができる。
【0045】
[実施例1−1の変形例(図3)]
モデル化部102の処理の変形例を示す。以下では、既に説明した事項との相違点を中心に説明し、それらと共通する事項については同じ参照番号を用いて説明を簡略化する。
【0046】
<構成>
図3に例示するように、本変形例の生成モデル作成装置100’は、音響イベント列合成部101、モデル化部102’、および記憶部103を有する。モデル化部102’は、音響イベント欠損判定部102a’、モデル化処理部102b’、およびモデル化/欠損推定処理部102c’を有する。生成モデル作成装置100’は、例えば、前述のようなコンピュータが所定のプログラムを実行することで構成される装置である。
【0047】
<モデル化処理>
実施例1−1で説明したように音響イベント列合成部101から出力された音響イベント列11は、モデル化部102’の音響イベント欠損判定部102a’に入力される。音響イベント欠損判定部102a’は、入力された音響イベント列11が欠損した時間区間を有しているかを判定する。ここで、音響イベント列11が欠損した時間区間を有していない場合、音響イベント列11はモデル化処理部102b’に送られる。一方、音響イベント列11が欠損した時間区間を有している場合、音響イベント列11はモデル化/欠損推定処理部102c’に送られる(ステップS102a’)。
【0048】
モデル化処理部102b’は、送られた音響イベント列11に含まれる各音響イベント列11−s(ただし、s=1,・・・,S)に対して音響イベントの種類に関するヒストグラムを作成する。モデル化処理部102b’は、類似するヒストグラムが同じクラスタに属するようにクラスタリングし、それによって得られる各クラスタを各状況と定義する。例えば、モデル化処理部102b’は、音響イベントの各種類(例えば、「包丁の音」「水が流れる音」「水音」など)の頻度を各要素の大きさとするベクトル(例えば、「包丁の音」の頻度を1番目の要素の大きさとし、「水が流れる音」の頻度を2番目の要素の大きさとし、「水音」の頻度を3番目の要素の大きさとするベクトルなど)を生成し、このようなベクトルをk−meansやGMM等によってクラスタリングし、それによって得られる各クラスタを各状況とする。モデル化処理部102b’は、連続する所定個の音響イベントからなる任意の音響イベント列に対応する上述のようなヒストグラムと、各状況に対応するクラスタの代表サンプル値と、の類似度またはその関数値を、当該任意の音響イベント列に対応する音響信号から各状況が生成される確率(尤度または事後確率)とみなし、それを音響信号−状況生成モデル12として出力する。例えば、モデル化処理部102b’は、連続する所定個の音響イベントからなる任意の音響イベント列に対応する上述のベクトルと、各状況に対応するクラスタの代表ベクトル(例えば、平均ベクトル)と、の類似度またはその関数値を、当該任意の音響イベント列に対応する音響信号から各状況が生成される確率とみなし、音響信号−状況生成モデル12として出力する。また、モデル化処理部102b’は、各状況に対応するクラスタに属するヒストグラムの値(各音響イベントの頻度)を平均化した平均化ヒストグラムを生成し、各状況に対応する平均化ヒストグラムの値(各音響イベントの頻度)またはその関数値を確率とする状況−音響イベント生成モデル13を出力する。例えば、モデル化処理部102b’は、各状況に対応するクラスタに属する上述のベクトルの平均ベクトルを生成し、各状況に対応する平均ベクトルの各要素の大きさ(各音響イベントの頻度)またはその関数値を確率とする状況−音響イベント生成モデル13を出力する。さらに、モデル化処理部102b’は、音響イベント列11を構成する音響イベント列11−sに対応する上述のヒストグラムと、各状況に対応するクラスタと、の類似度またはその関数値を、当該音響イベント列11−sに対応する音響信号から各状況が生成される確率(尤度または事後確率)とみなす。例えば、モデル化処理部102b’は、音響イベント列11を構成する音響イベント列11−sに対応する上述のベクトルと、各状況に対応するクラスタの代表ベクトルと、の類似度またはその関数値を、当該音響イベント列11−sに対応する音響信号から各状況が生成される確率(尤度または事後確率)とみなす。モデル化処理部102b’は、当該確率が最大となる状況、当該確率が最大から規定番目までとなる状況、または当該確率が所定の閾値を超える状況を表すラベルを状況ラベルとして出力してもよい(ステップS102b’)。
【0049】
モデル化/欠損推定処理部102c’は、送られた音響イベント列11に含まれる、欠損していない連続する2つ以上の音響イベントから音響イベント間の遷移確率を学習する。ここで、この遷移確率に従って音響イベント列11の欠損部分に音響イベントを確率的に付与した補完音響イベント列11’を想定する。モデル化/欠損推定処理部102c’は、各音響イベント列11−sに対して音響イベントの種類に関するヒストグラムを作成し、類似するヒストグラムが同じクラスタに属するようにクラスタリングし、それによって得られる各クラスタを各状況と定義する。クラスタリング方法は、音響イベント列11が補完音響イベント列11’に置換される以外、ステップS102b’と同じである。ただし、補完音響イベント列11’は、上記の遷移確率に従って音響イベント列11の欠損部分に音響イベントを確率的に付与したものである。そのため、補完音響イベント列11’も確率的に決まり、このような補完音響イベント列11’に基づいて得られるクラスタも確率的なものである。モデル化/欠損推定処理部102c’は、連続する所定個の音響イベントからなる任意の音響イベント列に対応する上述のようなヒストグラムと、各状況に対応するクラスタの代表サンプル値と、の類似度またはその関数値を、当該任意の音響イベント列に対応する音響信号から各状況が生成される確率(尤度または事後確率)とみなし、この確率と当該クラスタの生起確率との同時確率を音響信号−状況生成モデル12として出力する。また、モデル化/欠損推定処理部102c’は、各状況に対応するクラスタに属するヒストグラムの値(各音響イベントの頻度)を平均化した平均化ヒストグラムを生成し、各状況に対応する平均化ヒストグラムの値(各音響イベントの頻度)またはその関数値である確率と当該クラスタの生起確率との同時確率を、状況−音響イベント生成モデル13を出力する。また、モデル化/欠損推定処理部102c’は、音響イベント間の遷移確率を表す欠損イベントモデル14を出力する。さらに、モデル化/欠損推定処理部102c’は、補完音響イベント列11’を構成する音響イベント列11−sに対応する上述のヒストグラムと、各状況に対応するクラスタと、の類似度またはその関数値を、当該音響イベント列11−sに対応する音響信号から各状況が生成される確率(尤度または事後確率)とみなし、当該確率と当該クラスタの生起確率との同時確率を得る。モデル化/欠損推定処理部102c’は、当該同時確率が最大となる状況、当該同時確率が最大から規定番目までとなる状況、または当該同時確率が所定の閾値を超える状況を表すラベルを状況ラベルとして出力する(ステップS102c’)。
【0050】
その他の処理は実施例1−1と同じである。
【0051】
[実施例1−2(図4)]
本実施例では、欠損を含み得る音響信号17−1,・・・,17−Sを入力として、音響信号−状況生成モデル12、状況−音響イベント生成モデル13及び欠損イベントモデル24を算出する。また、状況ラベル15、音響イベントラベル16を算出し、状況や欠損した音響イベントの分析を行うことも可能である。
【0052】
<構成>
図4に例示するように、本実施例の生成モデル作成装置110は、欠損判定処理部114、特徴量算出部111、音響イベント判定部112、音響イベントモデルDB(データベース)113、音響イベント列合成部101、モデル化部102、および記憶部103を有する。生成モデル作成装置110は、例えば、前述のようなコンピュータが所定のプログラムを実行することで構成される装置である。
【0053】
<モデル化処理>
本実施例のモデル化処理を説明する。
まず欠損判定処理部114に音響信号17−1,・・・,17−Sが入力される。各音響信号17−s(ただし、s=1,・・・,S)は、短時間フレームごとに区分された要素からなる。欠損判定処理部114は、入力された音響信号17−sの各短時間フレームに欠損が存在するか否かを判定する。欠損判定処理部114は、例えば、音響信号がクリップしている短時間フレーム、振幅が0もしくは非常に小さい値となっている短時間フレーム、特定周波数のパワー成分(例えば100Hz〜8kHzのパワー成分など)が0もしくは非常に小さい値になっている短時間フレームなどに欠損が存在すると判定する。欠損判定処理部114は、音響信号17−1,・・・,17−Sのうち、欠損と判定した短時間フレームに欠損を表すラベル(欠損ラベル)を付して出力する。欠損と判定されなかった短時間フレームにはこのようなラベルが付されない。
【0054】
上述のように欠損ラベルが付された音響信号17−1,・・・,17−Sは特徴量算出部111に入力される。特徴量算出部111は、音響信号17−1,・・・,17−Sから音響特徴量列(ベクトル)を算出して出力する。例えば特徴量算出部111は、入力された音響信号17−s(ただし、s=1,・・・,S)に対し、短時間フレームごとに、音圧レベル、音響パワー、MFCC(Mel-Frequency Cepstrum Coefficient)特徴量、LPC(Linear Predictive Coding)特徴量などを算出し、これらを音響特徴量列として出力する。さらに立ち上がり特性、調波性、時間周期性など(例えば、「井本他,「複数の生活音の出現頻度に基づくユーザ行動の識別手法とコミュニケーションへの応用」,画像電子学会第32回VMA研究会」参照)の音響特徴量が音響特徴量列に加えられてもよい。また、音響特徴量列のうち、欠損ラベルが付された短時間フレームにはそれぞれの欠損ラベルが付される。
【0055】
音響イベントモデルDB113には、事前に算出された音響イベントモデルが複数保存されている。各音響イベントモデルは、音響イベントラベルが付された学習用の音響信号列から音響特徴量列を算出し、各音響イベントに対応する音響特徴量列をGMM,HMM,SVM等の周知のモデル化手法を用いてモデル化することで得られる(例えば「奥村学、高村大也、「言語処理のための機械学習入門」コロナ社」等参照)。或いは、音響イベントごとに音響特徴量列が対応付けられたものが音響イベントモデルとされてもよい。
【0056】
上述のように欠損ラベルが付された音響特徴量列は音響イベント判定部112に入力される。音響イベント判定部112は、入力された音響特徴量列と、音響イベントモデルDB113に記憶されている複数の音響イベントモデルとをそれぞれ比較し、短時間フレームごとに、各音響特徴量に対応する音響イベントを決定する。例えば、入力された音響特徴量列に対し、生成確率を最大にする音響イベントを決定したり、入力された音響特徴量列との距離(ユークリッド距離やコサイン距離)が最も近い音響イベントモデルに対応する音響イベントを選択したりする。ただし、欠損ラベルが付された短時間フレームには音響イベントが決定されない。音響イベントが決定されない短時間フレームには、その欠損ラベルが付されてもよいし、何も付されなくてもよい。これにより、前述の音響イベント列11−s(s=1,・・・,S)が生成される。音響イベント列11−sは、モデル化部102(またはモデル化部102’)に入力される。これ以降の処理は実施例1−1またはその変形例と同じである。
【0057】
なお、上述の例では、音響特徴量列を生成する前に欠損の有無を判定したが、音響信号17−1,・・・,17−Sから音響特徴量列を生成し、この音響特徴量列を用いて欠損の有無を判定してもよい。この場合、音響信号17−1,・・・,17−Sが特徴量算出部111に入力され、特徴量算出部111は上述のように音響信号17−1,・・・,17−Sから音響特徴量列を算出して出力する。音響特徴量列は欠損判定処理部(図示せず)に入力され、欠損判定処理部は、短時間フレームごとに音響特徴量列に対応する音響信号17−1,・・・,17−Sの欠損の有無を判定する。欠損判定処理部は、例えば、算出された特徴量の値が0もしくは非常に小さな値をとる短時間フレーム、非常に大きな値をとる短時間フレーム、特定の成分が0もしくは非常に小さな値をとる短時間フレーム、特定の成分が非常に大きな値をとる短時間フレームなどに欠損が存在すると判定する。欠損判定処理部は、音響特徴量列の短時間フレームのうち、欠損と判定した短時間フレームに欠損ラベルを付して出力する。欠損と判定されなかった短時間フレームにはこのようなラベルが付されない。上述のように欠損ラベルが付された音響特徴量列は音響イベント判定部112に入力される。以降の処理は上述した通りである。
【0058】
さらに、生成モデル作成装置110が欠損判定処理部を持たず、代わりに音響イベントモデルDB113に欠損イベントモデルを保存しておき、音響イベント判定部によって他の音響イベント判定と同様の方法で欠損したイベントの判定を行って、音響イベント列11−1,・・・,Sが生成されてもよい。
【0059】
[実施例1−2(図5)]
本実施例では、欠損を含み得る音響特徴量列18−1,・・・,18−Sを入力として、音響信号−状況生成モデル12、状況−音響イベント生成モデル13及び欠損イベントモデル24を算出する。また、状況ラベル15、音響イベントラベル16を算出し、状況や欠損した音響イベントの分析を行うことも可能である。
【0060】
<構成>
図5に例示するように、本実施例の生成モデル作成装置120は、欠損判定処理部124音響イベント判定部112、音響イベントモデルDB(データベース)113、音響イベント列合成部101、モデル化部102、および記憶部103を有する。生成モデル作成装置120は、例えば、前述のようなコンピュータが所定のプログラムを実行することで構成される装置である。
【0061】
<モデル化処理>
本実施例のモデル化処理を説明する。
まず欠損判定処理部124に音響特徴量列18−1,・・・,18−Sが入力される。各音響特徴量列18−s(ただし、s=1,・・・,S)は、短時間フレームごとに区分された要素からなり、例えば、実施例1−2で例示した特徴量の列である。
【0062】
音響特徴量列18−1,・・・,18−Sは欠損判定処理部124に入力され、欠損判定処理部124は、短時間フレームごとに音響特徴量列18−1,・・・,18−Sに対応する音響信号17−1,・・・,17−Sの欠損の有無を判定する。欠損判定処理部124は、例えば、特徴量の値が0もしくは非常に小さな値をとる短時間フレーム、非常に大きな値をとる短時間フレーム、特定の成分が0もしくは非常に小さな値をとる短時間フレーム、特定の成分が非常に大きな値をとる短時間フレームなどに欠損が存在すると判定する。欠損判定処理部124は、音響特徴量列18−1,・・・,18−Sのうち、欠損と判定した短時間フレームに欠損ラベルを付して出力する。欠損と判定されなかった短時間フレームにはこのようなラベルが付されない。上述のように欠損ラベルが付された音響特徴量列18−1,・・・,18−Sは音響イベント判定部112に入力される。以降の処理は上述した通りである。
【0063】
[実施例2−1(図6)]
本実施例では、前述のように生成された状況−音響イベント生成モデル13および欠損イベントモデル14を用い、新たに入力された欠損を含み得る音響イベント列21を用い、音響イベント列から欠損している音響イベントの推定、および、音響イベント列に対応する状況の推定を行う。欠損を有さない音響イベント列21を入力として状況のみを推定することも可能である。
【0064】
<構成>
図6に例示するように、本形態の推定装置200は、記憶部103および推定部201を有する。記憶部103は、前述のように生成された状況−音響イベント生成モデル13および欠損イベントモデル14を格納する。図7に例示するように推定部201は、例えば、音響イベント欠損判定部201a、状況推定部201b、状況/欠損推定部201c、収束判定部201d、初期設定部201e、および制御部201fを有する。推定装置200は、例えば、前述のようなコンピュータが所定のプログラムを実行することで構成される装置である。
【0065】
<推定処理>
推定部201には音響イベント列21が入力される。音響イベント列21は、前述の音響イベント列11と同一であってもよいし、別のものであってもよい。推定部201は、記憶部103から読み出した欠損イベントモデル14および状況−音響イベント生成モデル13を用い、音響イベント列21から欠損している音響イベントの推定、および、音響イベント列に対応する状況の推定を行う。
【0066】
例えば、推定部201は、音響イベント列2と欠損イベントモデル14および状況−音響イベント生成モデル13とを比較し、音響イベント列21の欠損に音響イベントを割り当てて得られる補完音響イベント列の「音響イベントの遷移確率」と、欠損イベントモデル14が表す「音響イベントの遷移確率」との距離(第1距離)、および補完音響イベント列の各音響イベントに状況を割り当てて得られる状況ラベル付き補完音響イベント列から得られる「状況から各音響イベントが生成される確率」と、状況−音響イベント生成モデル13が表す「状況から各音響イベントが生成される確率」との距離(第2距離)に基づいて、音響イベント列21から欠損している音響イベントの推定、および、音響イベント列に対応する状況の推定を行う。例えば、推定部201は、各欠損に対し、第1距離を最小にする音響イベントを決定してもよいし、第1距離を最小にする音響イベントから第1距離を所定番目に小さくする音響イベントまでを決定してもよいし、第1距離を閾値よりも小さくする音響イベントを決定してもよい。例えば、推定部201は、第2距離を最小にする状況を決定してもよいし、第2距離を最小にする状況から第2距離を所定番目に小さくする状況までを決定してもよいし、第2距離を閾値よりも小さくする状況を決定してもよい。推定部201は、各欠損に対して音響イベントを決定してから、各状況を決定してもよいし、音響イベントの決定と状況の決定とを同時に行ってもよい。音響イベントの決定と状況の決定とを同時に行う場合、推定部201は、第1距離および第2距離に対する関数値(例えば、広義単調増加関数値)である第3距離を最小にする音響イベントおよび状況を決定してもよいし、第3距離を最小にする音響イベントおよび状況から第3距離を所定番目に小さくする音響イベントおよび状況までを決定してもよいし、第3距離を閾値よりも小さくする音響イベントおよび状況を決定してもよい。第3距離の例は第1距離と第2距離との和や積などである。
【0067】
あるいは、推定部201は、状況−音響イベント生成モデル13および欠損イベントモデル14のもとでの、音響イベント列21に対する各状況や各欠損に対する音響イベントの尤度の和や積に基づいて、音響イベント列に対応する状況の推定、および音響イベント列21から欠損している音響イベントの推定を行ってもよい。例えば、推定部201は、尤度の和や積を最大にする音響イベントおよび状況を決定してもよいし、尤度の和や積を最大にする音響イベントおよび状況から尤度の和や積を所定番目に大きくする音響イベントおよび状況までを決定してもよいし、尤度の和や積を閾値よりも大きくする音響イベントおよび状況を決定してもよい。
【0068】
図7および図8を用いてより詳細な例を示す。音響イベント列21は、推定部201の初期設定部201eに入力される(ステップS201)。初期設定部201eは、入力された音響イベント列21に含まれるすべての音響イベント列eの全ての音響イベントeに状況t(ただし、t∈{1,・・・,T})を割り当てる。この割り当てはランダムに行われてもよいし、予め初期設定部201eに保持しておいた割り当てであってもよい。また、初期設定部201eは、入力された音響イベント列21に含まれるすべての音響イベント列eの欠損(何れかの短時間フレームに対応)に音響イベントm(ただし、m∈{1,・・・,M})を割り当てる。この割り当てはランダムに行われてもよいし、予め初期設定部201eに保持しておいた割り当てであってもよい。以上のように初期の状況ラベル付き補完音響イベント列21’’−s(ただし、s=1,・・・,S)が得られる。また、初期設定部201eは、状況ラベル付き補完音響イベント列21’’−sの「処理時間区間」を初期設定する。この例では、音響イベント列e(音響イベント列21)に含まれる音響イベント列η(音響イベント列21−s)の先頭からi番目の短時間フレームを「処理時間区間」とし、初期設定部201eは、i=1を初期設定する(ステップS201e)。
【0069】
状況ラベル付き補完音響イベント列21’’−s(ただし、s=1,・・・,S)は、音響イベント欠損判定部201aに入力される。音響イベント欠損判定部201aは、音響イベント列ηのi番目の短時間フレームの音響イベントeがもともと欠損していたかを判定する。ここで、音響イベントeがもともと欠損していなかった場合、音響イベント欠損判定部201aは、状況ラベル付き補完音響イベント列21’’−s(ただし、s=1,・・・,S)を状況推定部201bに送る(ステップS201bに進む)。一方、音響イベントeがもともと欠損していた場合、音響イベント欠損判定部201aは、状況ラベル付き補完音響イベント列21’’−s(ただし、s=1,・・・,S)を状況/欠損推定部201cに送る(ステップS201cに進む)(ステップS201a)。
【0070】
状況推定部201bは、入力された状況ラベル付き補完音響イベント列21’’−s(ただし、s=1,・・・,S)のうち、音響イベント列ηと、更新対象となるi番目の短時間フレームの状況zを除いた状況の列z−i(除くのはi番目の状況zの1つのみであり、z=tとなる状況全てを除くのではないことに注意)とを用い、以下のようにi番目の短時間フレームの音響イベントeに状況z=tが割り当てられる確率分布P(z=t|z−i,e,α,β,γ)を更新する。
【数15】

ただし、式(9)のφtmは式(7)で得られた状況−音響イベント生成モデル13である。状況推定部201bは、このように更新された確率分布P(z=t|z−i,α,β,γ)に従って、i番目の短時間フレームの状況zをサンプリングし、サンプリングした状況z=tを表す状況ラベルを音響イベントeに割り当て、それによって状況ラベル付き補完音響イベント列21’’−sを上書き更新する。更新された状況ラベル付き補完音響イベント列21’’−sは、音響イベント欠損判定部201aに送られる(ステップS201b)。
【0071】
状況/欠損推定部201cは、入力された状況ラベル付き補完音響イベント列21’’−s(ただし、s=1,・・・,S)のうち、更新対象となるi番目の短時間フレームの音響イベントeを除いた音響イベント列e−iと、状況zを除いた状況の列z−i(除くのはi番目の状況zの1つのみであり、z=tとなる状況全てを除くのではないことに注意)を用い、以下のようにi番目の短時間フレームに音響イベントe=mおよび状況z=tが割り当てられる確率分布P(z=t,e=m|z−i,e−i,α,β,γ)を更新する。
【数16】

ただし、式(10)の式(7)で得られた状況−音響イベント生成モデル13である。また、
【数17】

は式(8)で得られた欠損イベントモデル14である。状況/欠損推定部201cは、上述のように更新された確率分布P(z=t,e=m|z−i,e−i,α,β,γ)に従って、i番目の短時間フレームの状況zおよび音響イベントeをサンプリングし、当該状況zを表す状況ラベルおよび当該音響イベントeをi番目の短時間フレームに割り当て、それによって状況ラベル付き補完音響イベント列21’’−sを上書き更新する。更新された状況ラベル付き補完音響イベント列21’’−sは、音響イベント欠損判定部201aに送られる(ステップS201c)。
【0072】
ステップS201bまたはS201cの後、制御部201fは状況ラベル付き補完音響イベント列21’’の全ての時間区間についてステップS201a〜S201cの処理が実行されたかを判定する(ステップS201fa)。ここで、全ての時間区間についてステップS201a〜S201cの処理が実行されていない場合、制御部201fは、i+1を新たなiとして処理時間区間を更新し、処理をステップS201aに戻す(ステップS201fb)。一方、全ての時間区間についてステップS201a〜S201cの処理が実行されていた場合、音響イベント欠損判定部201aは、状況ラベル付き補完音響イベント列21’’を収束判定部10dに送る。
【0073】
収束判定部201dは、前述のように所定の収束条件を満たしたか否かを判定する(ステップS201da)。ここで、収束条件を満たしていないと判定された場合、状況ラベル付き補完音響イベント列21’’が音響イベント欠損判定部201aに送られ、「処理時間区間」が初期化され(例えば、i=1とされ)、処理がステップ201aに戻される。
【0074】
一方、収束条件を満たしたと判定された場合、収束判定部201dは、繰り返しの結果、最終的に得られた状況ラベル付き補完音響イベント列21’’において、欠損に割り当てられている音響イベント、および各音響イベントに割り当てられている状況を推定結果として出力する。あるいは、上記更新過程で得られた式(9)または式(10)の確率分布のうち事後確率の高いものから数個を選択したり、これらの事後確率が閾値以上のものを選択したりし、選択された確率分布に従って状況や音響イベントを決定し、それらを推定結果として出力してもよい。また、上記更新過程で割り当てられた状況またはそれらの平均値、および音響イベントまたはそれらの平均値を推定結果として出力してもよい。
【0075】
[実施例2−2(図9)]
本実施例では、前述のように生成された状況−音響イベント生成モデル13および欠損イベントモデル14を用い、新たに入力された欠損を含み得る音響信号列25を用い、音響イベント列から欠損している音響イベントの推定、および、音響イベント列に対応する状況の推定を行う。欠損を有さない音響信号列25を入力として状況のみを推定することも可能である。
【0076】
<構成>
図9に例示するように、本形態の推定装置210は、記憶部103、欠損判定処理部114、特徴量算出部111、音響イベント判定部112、音響イベントモデルDB113、および推定部201を有する。記憶部103は、前述のように生成された状況−音響イベント生成モデル13および欠損イベントモデル14を格納する。推定装置210は、例えば、前述のようなコンピュータが所定のプログラムを実行することで構成される装置である。
【0077】
<推定処理>
音響信号列25は欠損判定処理部114に入力される。その後、実施例1−2で説明したように、欠損判定処理部114、特徴量算出部111、音響イベント判定部112、および音響イベントモデルDB113を用いた処理が行われ、欠損を含み得る音響イベント列21が生成される。音響イベント列21は推定部201に入力される。それ以降の処理は実施例2−1と同じである。
【0078】
[実施例2−3(図10)]
本実施例では、前述のように生成された状況−音響イベント生成モデル13および欠損イベントモデル14を用い、新たに入力された欠損を含み得る音響特徴量列26を用い、音響イベント列から欠損している音響イベントの推定、および、音響イベント列に対応する状況の推定を行う。欠損を有さない音響特徴量列26を入力として状況のみを推定することも可能である。
【0079】
<構成>
図10に例示するように、本形態の推定装置220は、記憶部103、欠損判定処理部124、音響イベント判定部112、音響イベントモデルDB113、および推定部201を有する。記憶部103は、前述のように生成された状況−音響イベント生成モデル13および欠損イベントモデル14を格納する。推定装置220は、例えば、前述のようなコンピュータが所定のプログラムを実行することで構成される装置である。
【0080】
<推定処理>
音響特徴量列26は欠損判定処理部124に入力される。その後、実施例1−3で説明したように、欠損判定処理部124、音響イベント判定部112、および音響イベントモデルDB113を用いた処理が行われ、欠損を含み得る音響イベント列21が生成される。音響イベント列21は推定部201に入力される。それ以降の処理は実施例2−1と同じである。
【0081】
<特徴>
上述のように、音響信号から状況が生成される確率や状況から音響イベントが生成される確率に加えて、音響イベントが遷移する確率を考慮することで、欠損を持つデータからも精度の高い生成モデルを生成できる。音響イベントが示す状況やその生成過程を記述するためのモデルを推定可能であることに加え、欠損した音響イベントの推定も可能となっている。また、音響信号−状況生成モデル12、状況−音響イベント生成モデル13、および欠損イベントモデル14を別個に学習するのではなく、これらのモデルに対応する確率分布を同時に更新することで、精度の高いモデル推定を可能にしている。以上により、風切り音、タッピングノイズなどが含まれた音響信号から生成された音響イベント列であっても、精度の高いモデル推定が可能である。また、長時間の音響イベント列では、発生する音響イベントの種類が多く、それら音響イベントの生成確率はスパースになることが多い。つまり、従来手法では間欠的な欠損を有するのみであっても、多くの情報が失われ音響シーンの推定精度は大きく劣化すると考えられる。一方で欠損した音響イベントを推定しながら同時に音響シーンの推定を可能とする本技術では音響シーンの推定精度の大幅に向上が見込まれる。
【0082】
[その他の変形例等]
なお、本発明は上述の実施の形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【0083】
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
【0084】
このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0085】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。
【0086】
上記実施形態では、コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されたが、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。
【符号の説明】
【0087】
100,100’,110,120 生成モデル作成装置
200,210,220 推定装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10