(58)【調査した分野】(Int.Cl.,DB名)
前記同期演算部は、時系列に沿って検出された話者の発話の動作を示す情報と、時系列に沿った前記入力信号の振幅の変化とを基に、前記話者の振舞いの周期と前記入力信号との間の時系列に沿ったずれ量を算出し、当該ずれ量を基に前記同期タイミングを特定することを特徴とする請求項2に記載の音声処理装置。
前記同期演算部は、前記入力信号の振幅が所定量以上増加したタイミングと、前記発話の動作が開始されるタイミングとの間の差を前記ずれ量とすることを特徴とする請求項3に記載の音声処理装置。
前記検出部は、前記統計処理として、前記複数の部位それぞれの周期に重み付けを行い、重み付けされた当該周期の平均をとることで前記振舞いの周期を特定することを特徴とする請求項1に記載の音声処理装置。
前記検出部は、前記統計処理として、前記複数の部位それぞれの周期と、前記振舞いの周期との因果関係に基づきあらかじめ作成されたベイジアンネットワークを基に、検出された前記複数の部位それぞれの周期から前記振舞いの周期を特定することを特徴とする請求項1に記載の音声処理装置。
前記特定部は、前記ゲインの変化のピーク位置が、前記振舞いの周期のピーク位置からあらかじめ決められた時間幅だけずれるように前記ゲインの変化を特定することを特徴とする請求項7に記載の音声処理装置。
前記特定部は、検出された前記振舞いの周期中の所望の位相でゲインが増幅するように、当該振舞いの周期に対してあらかじめ決められた時間幅だけ位相がずれるように、前記ゲインの変化を特定することを特徴とする請求項1〜6のいずれかに記載の音声処理装置。
【発明を実施するための形態】
【0027】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0028】
まず、
図1Aを参照しながら、本実施形態に係る音声認識システムの適用シーンの一例について説明する。
図1Aは、この実施形態に係る音声認識システムの適用シーンの一例について説明するための概念図である。
図1Aは、一例として、本体M11とディスプレイM13を含んで構成され、入力インタフェースとしてユーザU1の音声を集音するマイクM12と、ユーザU1の外観を撮影するカメラM131とを備えたPC(Personal Computer)を示している。
【0029】
本実施形態に係る音声認識してステムは、例えば、
図1Aに示したようなPCに適用される。この音声認識システムは、マイクM12のような集音部で話者(ユーザU1)の音声を入力信号として取得し、その入力信号を解析して話者の指示内容(例えば、操作内容や入力文字等)を判断する。そして、この音声認識システムは、判断された指示内容に対応する処理を、例えば、本体M11にインストールされたOS(Operating System)を介して、各処理を実行する実行部(例えば、本体M11のCPU)に実行させる。以降では、この音声認識システムの構成について説明する。
【0030】
[音声認識システム]
まず、
図1Bを参照しながら、本実施形態に係る音声認識システムの構成について説明する。
図1Bは、本実施形態に係る音声認識システムの構成を示したブロック図である。
図1Bに示すように、この音声認識システムは、集音部101と、画像取得部102と、音声処理ユニット11と、音声認識部12と、動作制御部13とを含んで構成されている。なお、この音声認識システムが、「音声認識装置」に相当する。
【0031】
集音部101は、話者の発した音声を入力信号として取得する。この入力信号には、話者の発した音声を示す音声信号と、雑音のようなノイズが含まれる。集音部101の具体的な一例として、
図1Aに示されたマイクM12が挙げられる。集音部101は、取得した入力信号InAを音声処理ユニット11に出力する。
【0032】
画像取得部102は、話者の外観を時系列に沿って撮影し、その動作が示された動画像を取得する。画像取得部102の具体的な一例として、
図1Aに示されたカメラM131が挙げられる。画像取得部102は、取得された動画像InBを音声処理ユニット11に出力する。なお、この動画像InBが、「話者の動作を示す画像情報」に相当する。
【0033】
音声処理ユニット11は、集音部101から入力信号InAを取得する。前述のとおり、この入力信号InAには音声信号が含まれている場合がある。この音声信号は、話者ごとに独特の揺らぎを持っている。即ち、音声信号は、時系列に沿って振幅が変化する。この揺らぎの影響は、口の動きなどの発話の動作や、首や手の動作のような、話者の動作(以降では、これらを総じて「話者の振舞い」と呼ぶ)にも表れている。
【0034】
そこで、音声処理ユニット11は、画像取得部102から動画像InBを取得し、この動画像InBを解析して話者の振舞いを特定する。音声処理ユニット11は、特定された話者の振舞いに基づき、時系列に沿った音声信号の振幅の変化を推定し、推定された振幅の変化にあわせて入力信号の振幅を調整することで、入力信号中の音声信号を強調する。なお、この動作原理と音声処理ユニット11の構成及び処理の内容の詳細については後述する。
【0035】
音声処理ユニット11は、時系列に沿って振幅が調整された入力信号Outを音声認識部12に出力する。なお、この音声処理ユニット11が、「音声処理装置」に相当する。
【0036】
音声認識部12は、音声処理ユニット11から、時系列に沿って振幅が調整された入力信号Outを受ける。音声認識部12は、この入力信号Outに対して音声認識処理を施し、話者により音声として発話された文章を特定する。この音声認識処理は、例えば、入力信号の周波数成分を解析し、周波数成分の分布に基づき文章を構成する各文字を特定すればよい。また、この音声認識処理は、入力信号Outに基づき文章が特定できれば、上記方法には限定されない。
【0037】
音声認識部12は、特定された文章に対して構文解析(例えば、字句解析、意味解析等)を施し、その文章の意味を認識する。音声認識部12は、意味が認識された文章に基づき、その文章が示す処理を動作制御部13に指示する。また、この構文解析は、入力信号Outに基づき文章の意味が構文解析特定できれば、上記方法には限定されない。
【0038】
なお、入力信号Ont中の一部の音声信号の振幅が小さいため、その文字を特定できない場合がある。その場合には、音声認識部12が、音声認識処理と構文解析とのうちのいずれか、または双方で、特定できた他の部分の文字を基に、特定できなかった文字を推定するように動作させてもよい。
【0039】
動作制御部13は、この音声認識システムが導入された装置またはシステムを構成する各部(図示しない)の動作を制御する制御部を模擬的に示している。動作制御部13は、音声認識部12から入力信号Outに基づく処理の実行の指示を受ける。動作制御部13は、この指示に基づき、この装置またはシステムを構成する各部の動作を制御する。動作制御部13の具体的な一例として、
図1Aに示された本体M11のCPUが挙げられる。
【0040】
[音声処理ユニット11]
次に、音声処理ユニット11の動作原理と詳細な構成及び処理の内容について説明する。
【0041】
(動作原理)
まず、
図2を参照しながら、入力信号に含まれる各信号の態様と、これに基づく音声処理ユニット11の動作原理について説明する。
図2は、入力信号に含まれる各信号の時系列に沿った振幅の変化について説明するための図である。
図2の縦軸は各信号の振幅Aを示しており、横軸は時間tを示している。
図2中のf10は、入力信号を示しており、入力信号f10には、話者の音声を示す音声信号f110と、雑音等のノイズf130が含まれている。音声信号f110には、例えば、文、節、句、文節、音節、音素等に起因する周期の信号が含まれている。なお、一般的に音声信号f110とノイズf130とは重畳するが、
図2の例では、模擬的に音声信号f110とノイズf130とを分離して別々に示している。
【0042】
前述したように、この音声信号f110には、話者に応じた揺らぎが生じ、この揺らぎの影響は、話者の発話の動作(または、これに伴う文、節、句、文節等の文章の切れ目)や、首や手等の動作のような話者の振舞いにも表れている。即ち、音声信号f110は、
図2に示すように、話者の振舞いに応じた周期で時系列に沿って振幅が変化しているともいえる。この揺らぎの周期、即ち、音声信号の時系列に沿った振幅の変化の周期を、以降では周期f20と呼ぶ。
【0043】
一方で、ノイズf130は、話者の振舞いに依存しないため、音声信号f110とは異なり、話者に応じた揺らぎが生じない。そのため、音声信号f110の振幅が小さくなる場合に(小さくなる位相では)、音声信号f110の振幅に対するノイズf130の振幅の比率が大きくなり、ノイズf130が支配的となる。これに対して、音声信号f110の振幅が大きくなる場合に(大きくなる位相では)、音声信号f110の振幅に対するノイズf130の振幅の比率が小さくなり、前者に比べて音声信号f110が支配的となる。
【0044】
そこで、この実施形態に係る音声処理ユニット11は、話者の振舞いに基づき、音声信号の振幅が時系列に沿って変化する周期f20を推定し、推定された周期に基づき入力信号の振幅を時系列に沿って調整する。この推定された周期を、以降では「話者の振舞いの周期」と呼ぶ。
【0045】
具体的な一例として、音声処理ユニット11は、話者の振舞いの周期に基づき、音声信号f110の振幅が小さくなるほど、入力信号f10の振幅を減衰させる。このように動作させることで、音声処理ユニット11は、音声信号f110の振幅に対してノイズf130の振幅の比率が大きくなるタイミングほど(即ち、ノイズf130が支配的になるほど)、入力信号f10の振幅をより減衰させることになる。これにより、音声信号f110の振幅に対してノイズf130の振幅の比率が小さいタイミング(即ち、音声信号f110が支配的なタイミング)が強調され、後段の音声認識部12による音声認識処理の精度を向上させる。なお、
図2における入力信号f10が、前述の入力信号InAに相当する。
【0046】
(構成)
次に、
図1Cを参照しながら、音声処理ユニット11の構成について説明する。
図1Cは、この音声処理ユニット11の構成を示したブロック図である。
図1Cに示すように、音声処理ユニット11は、動作検出部111と、ゲイン特定部112と、音声信号取得部113と、遅延処理部114と、同期演算部115と、信号処理部116とを含んで構成される。また、信号処理部116は、増幅器1161と、ゲイン制御部1162とを福運で構成されている。以下に、これら各部の動作について説明する。
【0047】
動作検出部111は、入力として画像取得部102から動画像InBを受ける。この動画像InBには、話者の外観を時系列に沿って撮影されたものであり、話者の動作が示されている。動作検出部111は、この動画像InBに対して画像解析処理を施して、話者の振舞いの周期を特定する。以下に、その動作の具体的な一例について説明する。
【0048】
動作検出部111は、動画像InBを構成する各フレーム画像から、話者の身体を構成する各部位のうち、あらかじめ決められた1または複数の部位の位置を特定する。なお、以降では、この位置が特定された部位のことを特に「対象部位」と呼ぶ場合がある。このような位置の特定は、例えば、対象部位の形状特徴を抽出し、その形状特徴の位置や向きに基づいて行うとよい。
【0049】
ここで
図3を参照する。
図3は、話者の振舞いの周期の特定方法について説明するための図であり、話者U11を構成する各部位を模式的に示したものである。例えば、この図が示す例では、「頭」に対応する部位U111と、「腕」に対応する部位U112を対象部位としている。「腕」に対応する部位U112の位置や向きは、例えば、「肘」または「肩」のような「関節」や「手」等のような、この部位の形状特徴を示す特徴点P12の位置や向きとして特定することができる。なお、各部位から複数の特徴点を抽出することで、その部位の位置や向きの特定に係る精度を向上させることができる。同様に、「頭」に対応する部位U111の動きは、例えば、「目」、「鼻」、「耳」等のような、形状特徴を示す特徴点P11の位置や向きとして特定することができる。このようにして、動作検出部111は、各対象部位の位置や向きを特定する。
【0050】
次に、動作検出部111は、各対象部位の動作、即ち、各対象部位の位置の変化を、あらかじめ決められたフレーム数の間だけ監視して、その動作の周期を対象部位ごとに特定する。そのため、この周期の特定に係る監視のためのフレーム数は、対象部位の動きの周期を特定するために十分な期間であることが望ましく、対象部位の種類に応じてあらかじめ決めておく。なお、各部位の周期を特定するために、どの程度のフレーム数分だけ監視期間を設ければよいかは、あらかじめ実験等に基づき調べておく。以降では、このあらかじめ決められたフレーム数分の時間幅をh111とする。また、以降では、「対象部位の周期」と表記した場合には、その対象部位の動作の周期を示すものとする。
【0051】
動作検出部111は、特定された各対象部位の周期に対して、あらかじめ決められた統計処理を施すことで、これら各対象部位の動作に基づき時系列に沿って振幅が変化する1つの周期を、話者の振舞いの周期として特定する。この統計処理の一例として、重み付け平均処理が挙げられる。具体的には、各対象部位の周期に対して、その部位ごとにあらかじめ決められた重み付けを行い、重み付け後の各対象部位の周期の平均を話者の振舞いの周期として特定する。なお、各部位に対する重み付けの度合いは、各部位の動作と音声信号f110の時系列に沿った振幅の変化(即ち、周期f20)との間の因果関係を実験等によりあらかじめ求め、この結果に基づき決定しておく。
【0052】
また、この統計処理の別の一例として、ベイジアンネットワークによる推定を用いてもよい。具体的には、各部位の動作と話者の振舞いの周期との因果関係(ひいては、周期f20との因果関係)に基づき、あらかじめベイジアンネットワークを作成しておく。動作検出部111は、特定された各対象部位の周期を入力として、このベイジアンネットワークを適用し、その出力を話者の振舞いの周期とすればよい。このように複数の対象部位を対象として動作の周期を特定し、統計処理を施すことで、複数の部位の動きの組み合わせに応じて変化する話者の振舞いの周期を、より正確に特定することが可能となる。
【0053】
なお、話者の振舞いの周期は、いわゆる周期のような時系列を明示的に特定しない情報に限らず、例えば、監視期間(時間幅h111)中の時系列に沿った振幅の変化を示す情報のように、時系列上の位置を明示する情報であってもよい。このような情報を用いることで、例えば、監視期間の開始タイミングと、話者の振舞いの周期の開始タイミング(振幅が変化し始めるタイミング)とが必ずしも一致していなくてもよくなる。具体的な一例をあげると、話者が発話を開始してある時間が経過した後、話者が動作を開始した場合などが該当する。なお、以降では、これらを包含して、単に「話者の振舞いの周期」として説明する。
【0054】
動作検出部111は、特定された話者の振舞いの周期をゲイン特定部112に出力する。
【0055】
また、動作検出部111は、所定のフレーム毎(例えば、1フレーム毎)に、「口」のように話者の発話の動作を示す部位の特徴点P20a及びP20bの位置や向きを特定する。動作検出部111は、特定された特徴点P20a及びP20bの位置や向きを示す情報を同期演算部115に逐次出力する。
【0056】
ゲイン特定部112は、動作検出部111から話者の振舞いの周期を示す情報を受ける。ゲイン特定部112は、この話者の振舞いの周期を基に、時系列に沿って入力信号InAの振幅を変化させるための制御信号、即ち、時系列に沿った入力信号InAに対するゲインの変化を示す制御信号を生成する。具体的な一例として、本実施形態に係るゲイン特定部112は、動作検出部111から受けた話者の振舞いの周期に同期して、入力信号InAを減衰させるように制御信号を生成する。これにより、話者の振舞いの周期において、振幅が小さくなるタイミング(位相)で、入力信号InAが減衰されるように、制御信号が生成される。
【0057】
例えば、
図4は、この実施形態における、話者の振舞いの周期に基づくゲイン制御について説明するための図である。
図4におけるf50は、生成された制御信号に基づく時系列に沿ったゲインの変化を模擬的に示したグラフである。この
図4の例では、特定された話者の振舞いの周期に同期して、生成された制御信号に基づくゲイン制御を適用した場合を示しており、理想的には、この時系列に沿ったゲイン制御が周期f20に同期する。なお、この制御信号に基づくゲイン制御の詳細については後述する。また、以降では、上述したゲイン特定部112の一連の動作に係る処理時間をh112とする。このように、時系列に沿ったゲイン制御(即ち、時系列に沿ったゲインの変化)が、制御信号として、ゲイン特定部112により特定される。
【0058】
ゲイン特定部112は、生成された制御信号をゲイン制御部1162に出力する。
【0059】
音声信号取得部113は、入力として集音部101から音声信号f110を含む入力信号InAを逐次受ける。音声信号取得部113は、この入力信号InAを遅延処理部114に逐次出力する。
【0060】
また、音声信号取得部113は、入力信号InAの振幅を監視し、少なくとも、この振幅を示す情報を同期演算部115に逐次出力する。
【0061】
遅延処理部114は、音声信号取得部113から入力信号InAを逐次受ける。遅延処理部114は、この入力信号InAが、あらかじめ決めた遅延量h114だけ遅延するように遅延処理を施す。このときの遅延量h114は、動作検出部111及びゲイン特定部112の処理時間を鑑みてあらかじめ決定しておく。具体的には、この遅延量h114は、少なくとも、動作検出部111が話者の振舞いの周期を特定するために要するフレーム数分の時間幅h111と、ゲイン特定部112の処理時間h112とを加算した時間幅h111+h112だけ設ける。即ち、h114≧h111+h112の条件を満たすように、遅延量h114をあらかじめ決定しておく。これは、入力信号InAの振幅を時系列に沿って調整するための制御信号が、入力信号InAに対して、少なくともこの時間幅h111+h112分だけ遅延して出力されるためである。
【0062】
遅延処理部114は、遅延処理が施された入力信号InAを増幅器1161に出力する。
【0063】
同期演算部115は、動作検出部111から、話者の発話の動作を示す部位の特徴点P20a及びP20bの位置や向き示す情報を逐次受ける。同期演算部115は、この情報を基に特徴点P20a及びP20bの位置や向きの変化を監視し、話者の発話の動作が開始されるタイミングtBを検出する。
【0064】
また、同期演算部115は、音声信号取得部113から、入力信号InAの振幅を示す情報を逐次受ける。入力信号InAは、話者が発話していないタイミングでは、ノイズf130のみが含まれる。即ち、このタイミングにおける入力信号InAの振幅は、ノイズf130の振幅となる。これに対して、話者が発話しているタイミングでは、このノイズf130の振幅に、音声信号f110の振幅が重畳する。即ち、話者が発話を開始するタイミングで、入力信号InAの振幅が増加する。そこで、同期演算部115は、この情報を基に入力信号InAの振幅の変化を監視し、入力信号InAの振幅が所定量以上変化(増加)するタイミングtAを検出する。
【0065】
集音部101を介して取得される入力信号InAと、画像取得部102を介して取得される動画像InBとは、厳密には同期しているとは限らない。即ち、入力信号InAと動画像InBから特定された話者の振舞いの周期(及び、話者の振舞いの周期に基づく処理)とは、厳密には同期しているとは限らない。なお、この話者の振舞いの周期に基づく処理とは、ゲイン特定部112により生成された制御信号を用いた、ゲイン制御部1162による、時系列に沿ったゲイン制御を示している。ゲイン制御部1162の詳細については後述する。
【0066】
例えば、
図5は、遅延処理が施された入力信号InAと、話者の振舞いの周期に基づく処理との同期について説明するための図である。
図5の横軸は時間tを示している。
図5におけるf10a〜f10cは、それぞれ、異なるタイミングにおける、ノイズf130に音声信号f110が重畳した入力信号InAを模擬的に示している。また、t10a〜t10cは、入力信号f10a〜f10cそれぞれの開始タイミング(即ち、入力信号InAの振幅が所定量以上変化(増加)するタイミング)を示している。また、t30a〜t30cは、それぞれ、話者の発話の動作が開始されたタイミングを示している。また、f50a〜f50cは、それぞれ、異なるタイミングにおける、話者の振舞いの周期に基づく処理(即ち、時系列に沿ったゲイン制御)を模擬的に示している。また、t50a〜t50cは、話者の振舞いの周期に基づく処理f50a〜f50cそれぞれの開始タイミングを示している。
【0067】
前述の通り、話者の振舞いの周期に基づく処理f50a〜f50cの開始タイミングt50a〜t50cと、発話の動作の開始タイミングt30a〜t30cとは同期している。これは、開始タイミングt50a〜t50cと開始タイミングt30a〜t30cとが、同じ動画像InBから特定されるためである。これに対して、入力信号InAと動画像InBとは厳密には同期しているとは限らない。換言すると、開始タイミングt10a〜t10cと、開始タイミングt30a〜t30c及びt50a〜t50cとは、同期しているとは限らない。即ち、開始タイミングt10a〜t10cと、開始タイミングt30a〜t30c及びt50a〜t50cとの間のいずれかが遅延している場合がある。
【0068】
そこで、同期演算部115は、入力信号InAと、話者の振舞いの周期、厳密には、話者の振舞いの周期に基づく処理とを同期させるために、これらの間の時系列に沿ったずれ量(即ち、時間差)Δtを算出する。具体的には、同期演算部115は、
図5に示すように、入力信号f10a〜f10cそれぞれの開始タイミングt10a〜t10cと、話者の発話の開始タイミングt30a〜t30cとがそれぞれ同期するように、これらのずれ量Δtを算出する。ここで、開始タイミングt10a〜t10cは、検出されたタイミングtAで示される。また、開始タイミングt30a〜t30cは、検出されたタイミングtBで示される。即ち、同期演算部115は、検出されたタイミングtA及びtBの差として、ずれ量Δt=tA−tBを算出する。
【0069】
同期演算部115は、入力信号InA、または、話者の振舞いの周期に基づく処理が、このΔtだけ時系列に沿ってシフトする(遅延させる)ように制御することで、遅延処理が施された入力信号InAと、話者の振舞いの周期に基づく処理とを同期させる。
【0070】
具体的には、動画像InBに対して入力信号InAが遅延している場合(Δt<0)には、話者の振舞いの周期に基づく処理に対して、遅延処理後の入力信号InAが遅延することになる。この場合には、同期演算部115は、ずれ量Δtをゲイン制御部1162に通知する。このずれ量Δtを受けて、ゲイン制御部1162は、自身の処理の開始タイミングを、このずれ量Δt分だけ遅延させる。
【0071】
また、入力信号InAに対して動画像InBが遅延している場合(Δt>0)には、遅延処理後の入力信号InAに対して、話者の振舞いの周期に基づく処理が遅延していることになる。この場合には、同期演算部115は、ずれ量Δtを遅延処理部114に通知する。この通知を受けた場合に、遅延処理部114は、遅延量h114に加えて、さらにΔt分だけ入力信号InAを遅延させる。なお、この遅延処理部114へのΔtの通知は、遅延処理部114による遅延処理が完了する前に行われる必要がある。そのため、Δtの算出に係る処理時間よりも、遅延量h114を十分に長く設定する必要がある。しかしながら、多くの場合には、Δtの算出に係る処理は、遅延量h114よりも十分に短い。なお、このとき同期演算部115は、Δt=0をゲイン制御部1162に通知して、ゲイン制御部1162がただちに処理を開始するようにしてもよい。
【0072】
入力信号InAと動画像InBとが同期している場合(Δt=0)には、遅延処理後の入力信号InAと、話者の振舞いの周期に基づく処理とが同期していることになる。そのため、この場合には、同期演算部115は、ずれ量Δtの通知に係る処理を行わない、もしくは、ゲイン制御部1162及び遅延処理部114のうちのいずれかまたは双方にΔt=0を通知すればよい。
【0073】
このように、同期演算部115は、ずれ量Δtに基づき、入力信号InAと話者の振舞いの周期との間の同期タイミングを特定し、この同期タイミングにあわせて、入力信号InAまたは話者の振舞いの周期に基づく処理を時系列に沿ってシフト(遅延)させる。これにより、入力信号InAと、話者の振舞いの周期に基づく処理とが同期する。
【0074】
なお、上記説明では、同期演算部115は、入力信号InAと動画像InBとの間のずれ量Δtを基に、遅延処理が施された入力信号InAと、話者の振舞いの周期に基づく処理との同期タイミングを間接的に特定していた。別の方法として、同期演算部115は、検出されたタイミングtA及びtBと、前述した、時間幅h111、処理時間h112、及び遅延量h114とを基に、遅延処理が施された入力信号InAと、話者の振舞いの周期に基づく処理との同期タイミングを直接特定してもよい。この場合には、例えば、遅延処理が施された入力信号InAに対応するタイミングは、tA+h114で表される。また、話者の振舞いの周期に基づく処理を開始可能なタイミングは、tB+h111+h112とで表される。そのため、ずれ量Δtを、Δt=(tA+h114)−(tB+h111+h112)に基づき算出することで、遅延処理が施された入力信号InAと、話者の振舞いの周期に基づく処理との同期タイミングを特定することができる。
【0075】
また、上記では、同期演算部115が、入力信号InAの振幅が所定量以上変化(増加)したタイミングtAを特定していたが、これを音声信号取得部113が行ってもよい。この場合には、音声信号取得部113は、特定されたタイミングtAを示す情報を同期演算部115に通知すればよい。同様に、動作検出部111が、話者の発話の動作が開始されたタイミングtBを特定してもよい。この場合には、動作検出部111は、特定されたタイミングtBを示す情報を同期演算部115に通知すればよい。
【0076】
増幅器1161は、遅延処理部114から、遅延処理が施された入力信号InAを受ける。増幅器1161の利得Gainは、ゲイン制御部1162に基づき制御されている。即ち、増幅器1161は、ゲイン制御部1162に従い、入力信号InAの振幅を調整する(増幅または減衰させる)。増幅器1161は、振幅が調整された入力信号InAを、後段に位置する音声認識部12(
図1B参照)に出力する。
【0077】
ゲイン制御部1162は、ゲイン特定部112から、時系列に沿った入力信号InAに対するゲインの変化を示す制御信号を受ける。ゲイン制御部1162は、この制御信号に基づき、増幅器1161の利得Gainを時系列に沿って制御する(この動作が「ゲイン制御」に相当する)。
【0078】
また、ゲイン制御部1162は、同期演算部115からずれ量Δtの通知を受ける。このずれ量Δtの通知を受けた場合には、ゲイン制御部1162は、ずれ量Δtだけ自身の処理、即ち、ゲイン制御の開始タイミングを遅延させる。これにより、ゲイン制御部1162による時系列に沿ったゲイン制御(即ち、話者の振舞いの周期に基づく処理)が、遅延処理が施された入力信号InAに同期する。この態様について、
図4を参照しながら以下に説明する。
【0079】
前述の通り、話者の振舞いの周期は、音声信号の振幅が時系列に沿って変化する周期f20を推定したものに相当する。そのため、遅延処理が施された入力信号InAに、ゲイン制御部1162による時系列に沿ったゲイン制御を同期させることで、理想的には、
図4に示すように、周期f20に時系列に沿ったゲイン制御(グラフf50に対応)が同期する。
【0080】
この場合には、利得Gainが低下し信号が減衰されるタイミングt501、t503と、入力信号f10(即ち、入力信号InA)中の音声信号f110の振幅が小さくなるタイミングt201、t203とが一致する。また、利得Gainが増加し信号が減衰されない(または、増幅される)タイミングt502と、入力信号f10中の音声信号f110の振幅が大きくなるタイミングt202とが一致する。
【0081】
これにより、音声信号f110の振幅に対してノイズf130の振幅の比率が高いほど、入力信号f10の減衰量が大きくなる。即ち、ノイズf130が支配的なタイミングで入力信号f10がより減衰され、音声信号f110が支配的なタイミングにおける入力信号f10の振幅が強調される。
【0082】
なお、同期演算部115は、話者の発話の動作を示す部位の特徴点P20a及びP20bの位置や向きが、あらかじめ決められた時間以上変化しなかった場合には、入力信号InAに音声信号f110が含まれていないと判断してもよい。この場合には、同期演算部115は、例えば、ゲイン制御部1162による、時系列に沿ったゲイン制御の処理を一旦停止させ、再度、特徴点P20a及びP20bの位置や向きが変化したときに、改めてゲイン制御部1162による処理を開始させてもよい。また、このときには、動作検出部11が、改めて話者の振舞いの周期を特定し、ゲイン特定部112が、この話者の振舞いの周期に基づき制御信号を生成しなおしてもよい。
【0083】
また、遅延処理が施された入力信号InAと、話者の振舞いの周期に基づく処理とを厳密に同期させる必要が無い場合や、入力信号InAと動画像InBとの間の同期が保障されている場合には、同期演算部115を設けない構成としてもよい。この場合には、話者の発話の動作が開始されるタイミングtBが、ノイズf130に音声信号f110が重畳し始めるタイミング、即ち、入力信号InAの振幅が所定量以上変化(増加)するタイミングtAと等しいものとして処理することとなる。このような構成とする場合には、ゲイン制御部1162は、同期演算部115からの通知を待たず、直ちに処理を開始すればよい。
【0084】
また、上記では、話者が単一の場合の処理について説明していたが、複数の話者を対象として、この中のいずれかの話者を選択的に処理の対象とするように動作させてもよい。この場合には、動作検出部111は、例えば、顔認識のような個人を特定する技術を応用することで、処理対象の話者を識別するとよい。
【0085】
なお、対象となる話者の選択基準については、所定の処理毎に操作者(例えば、話者)が指定できるようにしてもよいし、対象の話者をあらかじめ決めておいてもよい。また、識別された話者ごとに、各部位の周期に適用する統計処理のパラメタ、例えば、重み付け平均処理における重みのつけ方や、適用するベイジアンネットワークを切り替えてもよい。これらの情報は、あらかじめ作成しておき、動作検出部111が適宜読み出せる場所に記憶させておけばよい。
【0086】
このように動作させることで、例えば、複数の話者が同時に発話している場合においても、対象の話者の発話に合わせて話者の振舞いの周期が特定され、この周期に基づき入力信号InAの振幅が時系列に沿って調整される。そのため、対象の話者の発話が、他の話者の発話に比べてより強調されやすくなり、複数の話者が発話する場合においても、この対象の話者の発話を入力とした音声認識の精度を向上させることが可能となる。
【0087】
[音声処理ユニット11の一連の処理]
次に、
図6を参照しながら、音声処理ユニット11の一連の処理について説明する。
図6は、音声処理ユニット11の一連の動作を示したフローチャートである。
【0088】
(ステップS11)
動作検出部111は、入力として画像取得部102から動画像InBを受ける。この動画像InBには、話者の外観を時系列に沿って撮影されたものであり、話者の動作が示されている。
【0089】
動作検出部111は、所定のフレーム毎(例えば、1フレーム毎)に、「口」のように話者の発話の動作を示す部位の特徴点P20a及びP20bの位置や向きを特定する。動作検出部111は、特定された特徴点P20a及びP20bの位置や向きを示す情報を同期演算部115に逐次出力する。
【0090】
また、動作検出部111は、動画像InBを構成する各フレーム画像から、話者の身体を構成する各部位のうち、あらかじめ決められた1または複数の部位の位置を特定する。
【0091】
(ステップS12)
次に、動作検出部111は、各対象部位の動作、即ち、各対象部位の位置の変化を、あらかじめ決められたフレーム数の間だけ監視して、その動作の周期を対象部位ごとに特定する。
【0092】
動作検出部111は、特定された各対象部位の周期に対して、あらかじめ決められた統計処理を施すことで、これら各対象部位の動作に基づき時系列に沿って振幅が変化する1つの周期を、話者の振舞いの周期として特定する。この統計処理の一例として、重み付け平均処理やベイジアンネットワークを用いた推定が挙げられる。
【0093】
動作検出部111は、特定された話者の振舞いの周期をゲイン特定部112に出力する。なお、この話者の振舞いの周期の特定に係る動作が、「検出ステップ」に相当する。
【0094】
ゲイン特定部112は、動作検出部111から話者の振舞いの周期を示す情報を受ける。ゲイン特定部112は、この話者の振舞いの周期を基に、時系列に沿って入力信号InAの振幅を変化させるための制御信号、即ち、時系列に沿った入力信号InAに対するゲインの変化を示す制御信号を生成する。具体的な一例として、本実施形態に係るゲイン特定部112は、動作検出部111から受けた話者の振舞いの周期に同期して入力信号InAを減衰させるように制御信号を生成する。これにより、話者の振舞いの周期において、振幅が小さくなるタイミング(位相)で、入力信号InAが減衰されるように、制御信号が生成される。
【0095】
ゲイン特定部112は、生成された制御信号をゲイン制御部1162に出力する。なお、この制御信号の生成に係る動作が、「特定ステップ」に相当する。
【0096】
(ステップS21)
音声信号取得部113は、入力として集音部101から音声信号f110を含む入力信号InAを逐次受ける。音声信号取得部113は、この入力信号InAを遅延処理部114に逐次出力する。
【0097】
また、音声信号取得部113は、入力信号InAの振幅を監視し、少なくとも、この振幅を示す情報を同期演算部115に逐次出力する。
【0098】
(ステップS22)
遅延処理部114は、音声信号取得部113から入力信号InAを逐次受ける。遅延処理部114は、この入力信号InAが、あらかじめ決めた遅延量h114だけ遅延するように遅延処理を施す。このときの遅延量h114は、動作検出部111及びゲイン特定部112の処理時間を鑑みてあらかじめ決定しておく。
【0099】
遅延処理部114は、遅延処理が施された入力信号InAを増幅器1161に出力する。
【0100】
(ステップS30)
同期演算部115は、動作検出部111から、話者の発話の動作を示す部位の特徴点P20a及びP20bの位置や向き示す情報を逐次受ける。同期演算部115は、この情報を基に特徴点P20a及びP20bの位置や向きの変化を監視し、話者の発話の動作が開始されるタイミングtBを検出する。
【0101】
また、同期演算部115は、音声信号取得部113から、入力信号InAの振幅を示す情報を逐次受ける。同期演算部115は、この情報を基に入力信号InAの振幅の変化を監視し、入力信号InAの振幅が所定量以上変化(増加)するタイミングtAを検出する。
【0102】
同期演算部115は、検出されたタイミングtA及びtBの差として、ずれ量Δt=tA−tBを算出する。このずれ量Δtが、入力信号InAと、話者の振舞いの周期に基づく処理との間の時系列に沿ったずれ量(時間差)を示している。
【0103】
(ステップS41)
同期演算部115は、入力信号InA、または、話者の振舞いの周期に基づく処理が、このΔtだけ時系列に沿ってシフトする(遅延させる)ように制御することで、遅延処理が施された入力信号InAと、話者の振舞いの周期に基づく処理とを同期させる。
【0104】
具体的には、同期演算部115は、動画像InBに対して入力信号InAが遅延している場合(Δt<0)には、ずれ量Δtをゲイン制御部1162に通知する。このずれ量Δtを受けて、ゲイン制御部1162は、自身の処理の開始タイミングを、このずれ量Δt分だけ遅延させる。
【0105】
また、同期演算部115は、入力信号InAに対して動画像InBが遅延している場合(Δt>0)には、ずれ量Δtを遅延処理部114に通知する。この通知を受けた場合に、遅延処理部114は、遅延量h114に加えて、さらにΔt分だけ入力信号InAを遅延させる。なお、このとき同期演算部115は、Δt=0をゲイン制御部1162に通知して、ゲイン制御部1162がただちに処理を開始するようにしてもよい。
【0106】
入力信号InAと動画像InBとが同期している場合(Δt=0)には、遅延処理後の入力信号InAと、話者の振舞いの周期に基づく処理とが同期していることになる。そのため、この場合には、同期演算部115は、ずれ量Δtの通知に係る処理を行わない、もしくは、ゲイン制御部1162及び遅延処理部114のうちのいずれかまたは双方にΔt=0を通知する。
【0107】
(ステップS42)
ゲイン制御部1162は、ゲイン特定部112から、時系列に沿った入力信号InAに対するゲインの変化を示す制御信号を受ける。ゲイン制御部1162は、この制御信号に基づき、増幅器1161の利得Gainを時系列に沿って制御する(この動作が「ゲイン制御」に相当する)。
【0108】
また、ゲイン制御部1162は、同期演算部115からずれ量Δtの通知を受ける。このずれ量Δtの通知を受けた場合には、ゲイン制御部1162は、ずれ量Δtだけ自身の処理、即ち、ゲイン制御の開始タイミングを遅延させる。
【0109】
増幅器1161は、遅延処理部114から、遅延処理が施された入力信号InAを受ける。増幅器1161の利得Gainは、ゲイン制御部1162に基づき制御されている。即ち、増幅器1161は、ゲイン制御部1162に従い、入力信号InAの振幅を調整する(増幅/減衰させる)。増幅器1161は、振幅が調整された入力信号InAを、後段に位置する音声認識部12(
図1B参照)に出力する。なお、この時系列に沿った入力信号InAの振幅の調整に係る動作が、「信号処理ステップ」に相当する。
【0110】
なお、上述した一連の動作は、音声処理ユニット11(または、この音声処理ユニット11を含む音声認識システム)を動作させる装置(例えば、
図1Aの本体M11)のCPUを機能させるためのプログラムによって構成することができる。このプログラムは、その装置(例えば、本体M11)にインストールされたOS(Operating System)を介して実行されるように構成してもよい。また、このプログラムは、音声処理ユニット11を動作させる装置が読み出し可能であれば、記憶される位置は限定されない。例えば、このプログラムは、装置の外部から接続される記録媒体に格納されていてもよい。この場合には、この記録媒体を装置に接続することによって、その装置のCPUに当該プログラムを実行させるように構成するとよい。
【0111】
[変形例]
次に、変形例に係る音声処理ユニット11の動作について説明する。音声認識部12で実行される音声認識処理や構文解析は、一部の音声が認識できず、その音声に対応する文字が欠落した場合に、認識できた音声(文字)から、その認識できなかった部分を推定する処理を有する場合がある。この処理は、音声認識処理や構文解析の特性(例えば、アルゴリズム)に応じて、例えば、文、節、句などの所定の単位の文字の集合のうち、どの部分が認識できたかにより、欠落した部分の推定のしやすさに差が生じる場合がある。具体的な一例として、所定の単位の文字の集合のうち、中間部分が認識できた場合よりも、前半部分が認識できた場合の方が、認識率が高くなる場合がある。変形例に係る音声処理ユニット11では、話者の振舞いの周期を基に、この所定単位の文字の集合(もしくは、文、節、句などの間の文章の切れ目)の時系列に沿った位置を推定し、入力信号中で強調する部分を調整することで、音声認識処理の認識率を向上させる。
【0112】
そこで、変形例に係る音声処理ユニット11では、音声信号の揺らぎの周期、即ち、特定された話者の振舞いの周期のうち、所定周期分(例えば、1/2周期分や1周期分)が、所定の単位の文字の集合の時系列に沿った位置と同期しているものとみなす。そのうえで、この音声処理ユニット11は、声認識処理や構文解析の特性に応じて、この所定の単位の文字の集合のうち、時系列に沿った所定の位置(タイミング)が強調されるようにゲインを制御する。
【0113】
以下に、その一例について、
図7A及び
図7Bを参照しながら説明する。
図7Aは、変形例に係る音声処理ユニットの一態様における、話者の振舞いの周期に基づくゲイン制御について説明するための図である。また、
図7Bは、変形例に係る音声処理ユニットの
図7Aとは異なる一態様を示しおり、この態様における、話者の振舞いの周期に基づくゲイン制御について説明するための図である。なお、
図7A及び
図7Bに示す例では、所定の単位の文字の集合のうち、前半部分を強調する場合を示している。なお、以降では、前述した実施形態と処理の異なるゲイン特定部112に着目して説明することとし、その他の構成については、前述した実施形態と同様のため、詳細な説明は省略する。
【0114】
まず、
図7Aに示す例について説明する。
図7Aにおけるf10は、
図4で示した入力信号f10(即ち、入力信号InA)に対応しており、f20は、
図4で示した周期f20に対応している。また、f50は、時系列に沿ったゲインの変化を模擬的に示したグラフであり、
図4のf50に対応している。また、
図7Aにおけるf51は、この例における、時系列に沿ったゲインの変化を模擬的に示したグラフである。
【0115】
この変形例に係るゲイン特定部112は、ゲインの変化を示す制御信号を、動作検出部111から受けた話者の振舞いの周期に対して、時系列に沿って所定の時間幅h51だけ位相をずれるように生成する。例えば、
図7Aに示す例では、グラフf51は、グラフf50に比べて、時間幅h51だけ前側(時系列上の前側)に位相がずれている。この時間幅h51には、所定の定数値を用いてもよいし、話者の振舞いの周期の長さ(例えば、1周期の長さ)に対する相対値を用いてもよい。これらのいずれを利用するかは、例えば、音声認識処理や構文解析の特性に応じて決定するとよい。このようにして、このゲイン特定部112は、話者の振舞いの周期中の所望の位相でゲインが増幅するように、時系列に沿ったゲインの変化の位相を調整する。
【0116】
これにより、
図7Aに示すように、グラフf51で示された、時系列に沿ったゲインの変化のピーク位置が、時間幅h51だけ前側にシフトする。そのため、例えば、音声信号f110のうちのタイミングt201からt203の間で示された部分のうち、前側の信号が減衰されずに残る。即ち、タイミングt201からt203の間のうち、前側の部分が強調されることになり、この期間に対応する所定の単位の文字の集合の認識率を向上させることが可能となる。
【0117】
なお、上記では、ゲイン特定部112が、ゲインの変化を示す制御信号の位相を調整していたが、例えば、同期演算部115が、時間幅h51を鑑みて、ゲイン制御部1162による時系列に沿ったゲイン制御の開始タイミングを調整してもよい。
【0118】
次に、
図7Bに示す例について説明する。
図7Aに示す例では、ゲインの変化を示す制御信号の位相を調整することで、所定の単位の文字の集合のうち、時系列に沿った所定の位置(タイミング)が強調されるようにゲインを制御していた。
図7Bに示す例では、位相の調整に替えて、時系列に沿ったゲインの変化のピーク位置をずらすことで、所望の部分が強調されるように制御する。
【0119】
図7Bにおけるf10は、
図4及び
図7Aで示した入力信号f10(即ち、入力信号InA)に対応しており、f20は、
図4及び
図7Aで示した周期f20に対応している。また、f50は、時系列に沿ったゲインの変化を模擬的に示したグラフであり、
図4及び
図7Aのf50に対応している。また、
図7Bにおけるf52は、この例における、時系列に沿ったゲインの変化を模擬的に示したグラフである。
【0120】
この変形例に係るゲイン特定部112は、ゲインの変化を示す制御信号のピーク位置が、動作検出部111から受けた話者の振舞いの周期に対して、時系列に沿って所定の時間幅h52だけずれるように生成する。例えば、
図7Bに示す例では、グラフf52は、グラフf50に比べて、時間幅h52だけ前側(時系列上の前側)にピーク位置がずれている。この時間幅h52には、所定の定数値を用いてもよいし、話者の振舞いの周期の長さ(例えば、1周期の長さ)に対する相対値を用いてもよい。これらのいずれを利用するかは、例えば、音声認識処理や構文解析の特性に応じて決定するとよい。
【0121】
これにより、
図7Bに示すように、グラフf52で示された、時系列に沿ったゲインの変化のピーク位置が、時間幅h52だけ前側にシフトする。そのため、例えば、音声信号f110のうちのタイミングt201からt203の間で示された部分のうち、前側の信号が減衰されずに残る。即ち、タイミングt201からt203の間のうち、前側の部分が強調されることになり、この期間に対応する所定の単位の文字の集合の認識率を向上させることが可能となる。また、
図7Bに示す例では、音声信号f110の振幅が最も低下するタイミング(例えば、t201、t203)と、利得Gainが最も低下するタイミング(例えば、t501、t503)が一致する。そのため、音声信号f110の振幅に対してノイズf130の振幅の比率が最も大きくなるタイミング、即ち、ノイズf130が支配的となるタイミングの信号を減衰させ、他の部分を強調することが可能となる。
【0122】
なお、上述で説明した実施形態及び変形例では、話者の振舞いの周期に基づき所望のタイミングで入力信号InAが強調されるように、他のタイミングの信号を減衰させる例について説明した。しかしながら、入力信号InAのうち、強調する部分と、それとは異なる他の部分との間で、信号の振幅に差を持たせることが可能であれば、この方法には限定されない。例えば、入力信号InA全体を増幅してから、他の部分の信号の振幅を減衰させてもよい。また、強調する部分の信号を増幅するように制御してもよい。このような制御は、例えば、ゲイン特定部112が、所望の制御にあわせて、各タイミングにおける利得Gainを調整して制御信号を生成すればよい。
【0123】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。