(57)【要約】【課題】動画像から精度よく発話を検知する。【解決手段】実施形態の発話検知装置は、画像取得部と、抽出部と、算出部と、判定部とを有する。画像取得部は、発話検知の対象となる顔の動画像を取得する。抽出部は、取得された動画像における口領域を抽出する。算出部は、抽出された口領域の縦横比を算出する。判定部は、算出された縦横比の変動周波数のばらつきに応じて発話であるか非発話であるかを判定する。【選択図】図１
2016091324.tif 000002
【特許請求の範囲】
【請求項１】
発話検知の対象となる顔の動画像を取得する画像取得部と、
前記取得された動画像における口領域を抽出する抽出部と、
前記抽出された口領域の縦横比を算出する算出部と、
前記算出された縦横比の変動周波数のばらつきに応じて発話であるか非発話であるかを判定する判定部と
を有することを特徴とする発話検知装置。
【請求項２】
前記算出された縦横比の変動周波数の中から所定の周波数成分を抽出するフィルタ部を有し、
前記判定部は、前記抽出された周波数成分のばらつきに応じて発話であるか非発話であるかを判定する
請求項１に記載の発話検知装置。
【請求項３】
前記判定部は、前記算出された縦横比の変動周波数の第１の期間における分散が所定の閾値を上回る場合に発話であると判定する
請求項１又は２に記載の発話検知装置。
【請求項４】
前記判定部は、前記算出された縦横比の変動周波数の第１の期間よりも長い第２の期間における分散に対して、前記第１の期間における分散が高い場合に発話であると判定する
請求項１乃至３のいずれか一項に記載の発話検知装置。
【請求項５】
前記判定部は、前記算出された縦横比の変動周波数の前記第１の期間における分散が、前記第２の期間において非発話であると判定した分散の平均値よりも前記第２の期間において発話であると判定した分散の平均値に近い場合に発話であると判定する
請求項４に記載の発話検知装置。
【請求項６】
コンピュータに、
発話検知の対象となる顔の動画像を取得し、
前記取得された動画像における口領域を抽出し、
前記抽出された口領域の縦横比を算出し、
前記算出された縦横比の変動周波数のばらつきに応じて発話であるか非発話であるかを判定する
処理を実行させることを特徴とする発話検知プログラム。
【請求項７】
コンピュータが、
発話検知の対象となる顔の動画像を取得し、
前記取得された動画像における口領域を抽出し、
前記抽出された口領域の縦横比を算出し、
前記算出された縦横比の変動周波数のばらつきに応じて発話であるか非発話であるかを判定する
処理を実行することを特徴とする発話検知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、発話検知装置、発話検知プログラムおよび発話検知方法に関する。
【背景技術】
【０００２】
会話や仕草などにより、人との間で親和的な対話（インタラクション）を行うロボットが開発されている。このインタラクションロボットの一態様としては、セラピーロボット、エンターテイメントロボットなどが挙げられる。
【０００３】
例えば、高齢者との対話を提供するインタラクションロボットに対して、高齢者は、孫やペットにするように対話するケースが多い。この場合、インタラクションロボットの動作としては、お年寄りの対話に対して応えるような反応を示すことが望ましく、高齢者の脳の活性化の観点からも、反応性を高めることが重要である。
【０００４】
また、独居する高齢者などにとっては、発話機会が少ないことが問題となっている。したがって、インタラクションロボットによって発話を促すことが重要であり、インタラクションロボットが対話を行うために高齢者からの発話を精度よく検知することが望ましい。
【０００５】
しかしながら、インタラクションロボットでは、マイクの音声から発話を検知する場合、モータ音などのノイズの音量が大きくなり発話を検知することが困難である。モータ音などのノイズの影響を回避するには、インタラクションロボットの前にいる人をカメラで撮影し、その撮影された画像から発話の検知を行うことが望ましい。この撮影された画像により発話を検知する技術としては、カメラで撮影された画像から人の口の開閉を検出する技術がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−１８７２４７号公報
【特許文献２】特開２０１２−５９０１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、撮影された画像から人の発話を検知する場合、撮影条件や個人差などの多様な条件に対応し、精度よく発話を検知することが困難という問題がある。
【０００８】
例えば、インタラクションロボットと対話者とが対話する場合、カメラで撮影される対話者の距離、角度などは様々であり、口領域や口の開閉状態を安定して検出することは難しい。また、表情の変化や顔向きの変動など、発話以外の要因で口の形状が変化する場合もあり、単純に口の開閉を検出したのでは発話の検知が困難である。また、日常の発話時の口の形や開閉の大きさには個人差があることから、発話の判断基準の設定も困難である。
【０００９】
１つの側面では、動画像から精度よく発話を検知できる発話検知装置、発話検知プログラムおよび発話検知方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
第１の案では、発話検知装置は、画像取得部と、抽出部と、算出部と、判定部とを有する。画像取得部は、発話検知の対象となる顔の動画像を取得する。抽出部は、取得された動画像における口領域を抽出する。算出部は、抽出された口領域の縦横比を算出する。判定部は、算出された縦横比の変動周波数のばらつきに応じて発話であるか非発話であるかを判定する。
【発明の効果】
【００１１】
本発明の１実施態様によれば、動画像から精度よく発話を検知できる。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施形態にかかる制御装置の一例を示すブロック図である。
【図２】図２は、実施形態にかかる制御装置の動作例を示すフローチャートである。
【図３】図３は、実施形態にかかる発話検知の一例を示すフローチャートである。
【図４】図４は、バッファに記憶されるデータを説明する説明図である。
【図５】図５は、発話判断の一例を示すフローチャートである。
【図６】図６は、変形例にかかる発話検知の一例を示すフローチャートである。
【図７】図７は、発話検知プログラムを実行するコンピュータを説明する説明図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、実施形態にかかる発話検知装置、発話検知プログラムおよび発話検知方法を説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施形態で説明する発話検知装置、発話検知プログラムおよび発話検知方法は、一例を示すに過ぎず、実施形態を限定するものではない。また、以下の各実施形態は、矛盾しない範囲内で適宜組み合わせてもよい。
【００１４】
図１は、実施形態にかかる制御装置１の一例を示すブロック図である。図１に示すように、制御装置１は、ＣＰＵ（Central  Processing  Unit）がメモリに記憶されたプログラムを順次実行することで、インタラクションロボット２の制御を行う装置である。例えば、制御装置１は、インタラクションロボット２に搭載されたカメラ３で撮像された動画像よりインタラクションロボット２の前にいる人物の発話を検知し、検知した発話に対する反応動作を行うようにインタラクションロボット２を制御する。
【００１５】
制御装置１は、ＣＰＵがプログラムを順次実行することで実現される機能構成の一部として、画像入力部１０、発話検知部２０、動作指示部３０、モータ制御部４０およびスピーカ制御部５０を有する。画像入力部１０は、インタラクションロボット２のカメラ３により所定のフレームレート（例えば、３０ｆｐｓ）で撮像された動画像を取得する。画像入力部１０は、取得された動画像を発話検知部２０へ出力する。
【００１６】
発話検知部２０は、口領域抽出部２１、縦横比算出部２２、フィルタ部２３および発話判定部２４を有し、取得された動画像に含まれる人物の発話を検知する。具体的には、発話検知部２０は、取得された動画像に含まれる人物の口領域を抽出し、抽出された口領域の縦横比を算出し、算出された縦横比の変動周波数のばらつきに応じて発話であるか非発話であるかを判定する。
【００１７】
動作指示部３０は、検知された発話、非発話に応じてインタラクションロボット２が行う動作を指示する。例えば、発話検知部２０により人物の発話が検知された場合には、発話に対して手を上げて応える、返事を音声出力するなど、所定の反応を行うようにモータ制御部４０およびスピーカ制御部５０を指示する。また、発話検知部２０により人物の非発話が検知された場合には、発話を促すような仕草や問いかけなど、所定の動作を行うようにモータ制御部４０およびスピーカ制御部５０に指示する。
【００１８】
モータ制御部４０は、動作指示部３０の指示のもと、インタラクションロボット２の手、足、頭などの各部位を動かすモータの駆動を制御する。スピーカ制御部５０は、動作指示部３０の指示のもと、インタラクションロボット２に設けられたスピーカからの音声出力を制御する。
【００１９】
次に、発話検知部２０における発話検知を説明する。図２は、実施形態にかかる制御装置１の動作例を示すフローチャートである。図２に示すように、口領域抽出部２１は、画像入力部１０により取得された動画像のフレームごとに、そのフレームに含まれる人物の口領域を抽出する（Ｓ１）。
【００２０】
この口領域は、フレーム内において人物の口に対応した領域であり、例えば、下唇の下端から上唇の上端までの高さと、口角の両端までの幅とを有する領域である。口領域抽出部２１は、顔識別にかかる既存技術を用いてフレームから人物の口領域の抽出を行う。例えば、フレームに含まれる顔の特徴点を算出して、口領域の高さと幅を算出する方法がある。また、フレームからの顔識別による顔識別情報と、フレーム内の各画素の色情報とを用いて口領域を色情報により判断し、その口領域の高さと幅を算出する方法がある。また、上記の方法を組み合わせ、両方の方法で得られた口領域の情報を平均してもよい。
【００２１】
次いで、口領域抽出部２１は、抽出された口領域の妥当性を検証する（Ｓ２）。例えば、口領域抽出部２１は、識別した顔の他の特徴点と、抽出した口領域との相対的な位置関係から口領域の妥当性を評価して異常値を省くようにする。一例として、抽出した口領域が識別した顔の顔領域の中の一定の領域に含まれない場合を異常値とする。あるいは、特徴点が異常値の場合と、正常値の場合とを人が判断した学習データ（教師データ）と、口領域の各特徴点、顔領域の別の特徴点の相対位置を入力データとして、異常値の判定をＳＶＭ（サポートベクターマシン）などで機械学習してもよい。これにより、抽出した口領域が妥当とされたものを、抽出結果として用いることができる。
【００２２】
次いで、縦横比算出部２２は、抽出された口領域の縦横比をフレームごとに算出する（Ｓ３）。具体的には、縦横比算出部２２は、抽出された口領域の高さに対応するピクセル数と、幅に対応するピクセル数との比率を計算することで縦横比の算出を行う。この縦横比は、下唇の下端から上唇の上端までの高さと、口角の両端までの幅との比率に対応した値であり、撮像したカメラと人物との距離や、口の大きさの個人差などによる影響が小さい値となる。
【００２３】
次いで、フィルタ部２３は、フレームごとに算出された縦横比をもとに、縦横比の時間的変動における変動周波数について、特定の周波数の変動、すなわち特定の変動周波数の周波数成分を抽出する（Ｓ４）。これにより、ノイズ（高周波）、顔の向きや表情の変化（低周波）の影響を取り除き、発話時の口の動きに対応した変動周波数の成分を取り出す。
【００２４】
日本語の発話について、１秒当たりの音節数は７．８４程度であるという報告（Francois  Pellegrino,  Christophe  Coupe,  Egidio  Marsico.  A  cross-linguistic  perspective  on  speech  information  rate.  Language,  September  2011）がある。音節ごとに口の形状が変化すると仮定すると、発話時における口の形状の変動は８Ｈｚ程度であると考えられる。
【００２５】
一方で、動画像を３０ｆｐｓで取得しているものとすると、フレームごとに上下する変動は発話による変動ではなく、より高周波なノイズであると考えられる。また、笑顔など、口の形状に影響する表情は、１秒間に何度も変化することは難しく、早くても１〜２秒程度の間隔で変動すると考えられる。
【００２６】
したがって、発話については、１Ｈｚ〜１０Ｈｚの周波数成分を抽出するように、フィルタ部２３におけるバンドパス／ローパスのフィルタ設定を行えばよい。これにより、口領域の抽出精度によるノイズ（高周波）や、表情や顔の向きの変化による変動（低周波）を除去し、発話の判断を精度よく行うことができる。なお、簡単には上述したノイズだけを取り除くために、移動平均等を用いてもよい。
【００２７】
次いで、発話判定部２４は、フィルタ後に得られた縦横比の周波数成分について、所定期間におけるばらつきを求め、そのばらつき具合をもとに、発話であるか非発話であるかを判定する（Ｓ５）。例えば、発話判定部２４は、判定時刻の直前の２秒程度における縦横比の周波数成分の分散を求める。この分散が所定値以上であるということは、発話時の口の動きに近い縦横比の変動があるということから、発話であると判定できる。
【００２８】
また、発話判定部２４は、求めた分散や、発話であるか非発話であるかの判定結果の履歴をメモリ（バッファ）に保持してもよい。この場合、発話判定部２４は、所定期間において求めた分散が、バッファに保持された履歴の分散よりも相対的に高い場合に発話であると判定してもよい。また、発話判定部２４は、バッファに保持された履歴において過去に発話と判定された分散と、所定期間において求めた分散とを比較するように、動的に判定基準を変更することにより、さらに精度よく発話を判定してもよい。
【００２９】
ここで、求めた分散や、発話であるか非発話であるかの判定結果の履歴をバッファに保持して行う、発話検知の詳細について説明する。図３は、実施形態にかかる発話検知の一例を示すフローチャートである。
【００３０】
図３に示すように、処理が開始されると、口領域抽出部２１は、取得した動画像から画像（フレーム）を抽出し（Ｓ１０）、抽出されたフレームに含まれる人物の口領域を抽出する（Ｓ１１）。次いで、口領域抽出部２１は、抽出された口領域の妥当性を判断し（Ｓ１２）、妥当でない場合（Ｓ１３：ＮＯ）はＳ１０へ処理を戻す。
【００３１】
抽出された口領域が妥当である場合（Ｓ１３：ＹＥＳ）、縦横比算出部２２は、抽出された口領域の縦横比を算出し（Ｓ１４）、算出された縦横比をバッファＢ１へ格納する（Ｓ１５）。
【００３２】
図４は、バッファＢ１、Ｂ２、Ｂ３に記憶されるデータを説明する説明図である。図４では、上から順に、フレームごとの口領域の縦横比を記憶するバッファＢ１と、その縦横比の分散の履歴を記憶するバッファＢ２と、過去の発話判定の履歴を記憶するバッファＢ３との記憶内容を例示している。図４に示すように、バッファＢ１には、フレームごとに抽出された口領域の縦横比が順次格納される。
【００３３】
次いで、フィルタ部２３は、バッファＢ１から過去の期間Ｔ１における縦横比の値を取り出す（Ｓ１６）。次いで、フィルタ部２３は、発話にかかる周波数成分を抽出するようにバンドパス／ローパスの周波数フィルタを設定し（Ｓ１７）、設定したフィルタ周波数に適したサンプリングで期間Ｔ１における縦横比の値を抽出する（Ｓ１８）。
【００３４】
次いで、発話判定部２４は、フィルタ部２３によるフィルタ後に得られた値をもとに、期間Ｔ１での値のばらつき（分散）を算出し（Ｓ１９）、算出されたばらつき（分散）値をバッファＢ２へ格納する（Ｓ２０）。これにより、バッファＢ２には、処理対象となるフレームから期間Ｔ１前までに算出された分散の値が格納される。
【００３５】
具体的には、図４に示すように、現在時刻が時刻ｔ２である場合、時刻ｔ２から期間Ｔ１前までに算出された分散の値が時刻ｔ２における値としてバッファＢ２に格納される。なお、バッファＢ２は、例えば、リングバッファなどであり、期間Ｔ１よりも長い期間Ｔ２（時刻ｔ１〜ｔ２）の間のばらつき（分散）値の履歴を保持している。
【００３６】
次いで、発話判定部２４は、バッファＢ２からは過去の期間Ｔ２のばらつき（分散）値を取得し（Ｓ２１）、バッファＢ３からは期間Ｔ２の発話判断（判定）の履歴を取得する（Ｓ２２）。
【００３７】
具体的には、図４に示すように、バッファＢ３は、例えば、リングバッファなどであり、期間Ｔ２における発話判定の結果（例えば、「不明」、「発話」、「非発話」）を履歴として保持している。ここで、「不明」とは、発話中であるか非発話であるかの判定結果が不明であることを示す。例えば、発話判定の処理を開始した初期の状態において、口領域の縦横比の周波数成分についての分散が発話の条件を満たす（所定値以上と判定される）までは、不明としてもよい。
【００３８】
なお、バッファＢ２と、バッファＢ３とは、例えば、ポインタなどで双方向で参照可能とする双方向リストにより、期間Ｔ２の間の所定時刻におけるばらつき（分散）値と、発話判定の結果とを関連付けて保存している。
【００３９】
次いで、発話判定部２４は、期間Ｔ２のばらつき値と、期間Ｔ２の発話判断（判定）の履歴と、期間Ｔ１のばらつき値とから、現在時刻における発話判断（判定）を行う（Ｓ２３）。
【００４０】
図５は、発話判断の一例を示すフローチャートである。図５に示すように、発話判定部２４は、期間Ｔ２の発話判断（判定）の履歴をもとに、過去の期間Ｔ２の全ての時刻において発話が不明と判定されているか否かを判定する（Ｓ３０）。
【００４１】
過去の期間Ｔ２の全ての時刻において発話が不明と判定されている場合（Ｓ３０：ＹＥＳ）は、処理開始後の初期状態であり、口領域の縦横比の周波数成分についての分散が発話の条件を満たしたことがなく、発話、非発話の履歴がないということである。この場合、発話判定部２４は、現在時刻における口領域の縦横比の周波数成分についてのばらつき値（分散Ｖ１）が、期間Ｔ２のばらつき（分散）値の平均より予め設定された閾値以上上回るか否かを判定する（Ｓ３１）。
【００４２】
閾値以上上回る場合（Ｓ３１：ＹＥＳ）、口領域の縦横比の周波数成分についての分散により、発話時の口の動きに近い縦横比の変動があるということから、発話判定部２４は、発話中と判断（判定）する（Ｓ３２）。
【００４３】
また、閾値以上上回らない場合（Ｓ３１：ＮＯ）、口領域の縦横比の周波数成分についての分散により、発話時の口の動きに近い縦横比の変動がないということから、発話判定部２４は、不明のままと判断（判定）する（Ｓ３３）。
【００４４】
また、過去の期間Ｔ２の全ての時刻において発話が不明と判定されていない場合（Ｓ３０：ＮＯ）は、発話、非発話の履歴があるということである。この場合、発話判定部２４は、期間Ｔ２で発話中と判断したばらつき（分散）値の平均（Ｖ２）を計算する（Ｓ３４）。
【００４５】
次いで、発話判定部２４は、期間Ｔ２で発話なし（非発話）と判断したばらつき（分散）値の平均（Ｖ３）を計算する（Ｓ３５）。なお、不明と判断したばらつき（分散）値は、発話なし（非発話）に含めるものとする。
【００４６】
次いで、発話判定部２４は、期間Ｔ２における現在の分散Ｖ１が、発話の分散の平均Ｖ２と、非発話の分散の平均Ｖ３との間で何方の方に相対的に近いかを判定する（Ｓ３６）。具体的には、発話判定部２４は、Ｖ２−Ｖ１＜Ｖ１−Ｖ３の不等式を満たすか否かを判定することで、現在の分散Ｖ１が発話／非発話の分散の平均（Ｖ２／Ｖ３）のいずれに近いかを判定する。例えば、Ｖ２−Ｖ１＜Ｖ１−Ｖ３を満たす場合（Ｓ３６：ＹＥＳ）は、Ｖ１が非発話の分散の平均Ｖ３よりも発話の分散の平均Ｖ２に近いことを示す。
【００４７】
期間Ｔ２における現在の分散Ｖ１が、発話の分散の平均Ｖ２に近い場合（Ｓ３６：ＹＥＳ）、発話判定部２４は、発話中と判断する（Ｓ３７）。また、期間Ｔ２における現在の分散Ｖ１が、非発話の分散の平均Ｖ３に近い場合（Ｓ３６：ＮＯ）、発話判定部２４は、発話なし（非発話）と判断する（Ｓ３８）。このように、発話／非発話の履歴がある場合には、その情報をもとに動的に判定基準を変更することにより、さらに精度よく発話を判定することができる。
【００４８】
図３に戻り、発話判定部２４は、判定した発話判断をバッファＢ３に格納し（Ｓ２４）、次のフレームの処理を行うためにリターンする。
【００４９】
以上のように、発話検知装置としての制御装置１は、発話検知の対象となる顔の動画像を取得し、取得された動画像における口領域を抽出する。そして、抽出された口領域の縦横比を算出し、算出された縦横比の変動周波数のばらつきに応じて発話であるか非発話であるかを判定する。従って、制御装置１は、動画像から精度よく発話を検知することができる。
【００５０】
また、制御装置１は、算出された縦横比の変動周波数の中から所定の周波数成分を抽出し、抽出された周波数成分のばらつきに応じて発話であるか非発話であるかを判定する。このため、制御装置１は、口領域の抽出精度によるノイズ（高周波）や、表情や顔の向きの変化による変動（低周波）を除去し、発話の判断を精度よく行うことができる。
【００５１】
また、制御装置１は、算出された縦横比の変動周波数の第１の期間（Ｔ１）における分散が所定の閾値を上回る場合に発話であると判定する。このため、制御装置１は、口領域の縦横比の周波数成分についての分散が所定の閾値値以上と判定されたところで、発話であるとすることができる。
【００５２】
また、制御装置１は、算出された縦横比の変動周波数の第１の期間（Ｔ１）よりも長い第２の期間（Ｔ２）における分散に対して、第１の期間における分散が高い場合に発話であると判定する。このため、制御装置１は、第１の期間（Ｔ１）の分散と、期間Ｔ１よりも長い期間Ｔ２における分散との比較によって、発話判断の精度を高めることができる。
【００５３】
また、制御装置１は、算出された縦横比の変動周波数の第１の期間（Ｔ１）における分散が、第２の期間（Ｔ２）において非発話であると判定した分散の平均値（Ｖ３）よりも第２の期間において発話であると判定した分散の平均値（Ｖ２）に近い場合に発話であると判定する。このように、制御装置１は、発話／非発話の履歴がある場合、その情報をもとに動的に判定基準を変更することにより、さらに精度のよい発話判断が可能となる。
【００５４】
（変形例）
次に、上述した実施形態の変形例について説明する。上述した実施形態では、動画像のフレームからリアルタイムに発話判断を行う処理を例示した。変形例では、既に撮影済みの動画ファイルにおける動画像からの発話判断を例示する。
【００５５】
図６は、変形例にかかる発話検知の一例を示すフローチャートである。図６に示すように、処理が開始されると、モータ制御部４０は、記憶媒体などに記憶された動画ファイルの読み取りを行う（Ｓ４０）。
【００５６】
次いで、発話検知部２０は、ばらつき（分散）値の最大値（Ｖｍａｘ）を初期化する（Ｓ４１）。具体的には、初期値としてＶｍａｘ＝０とする。
【００５７】
次いで、口領域抽出部２１は、読み取った動画像ファイルから画像（フレーム）を抽出し（Ｓ４２）、抽出されたフレームに含まれる人物の口領域を抽出する（Ｓ４３）。次いで、口領域抽出部２１は、抽出された口領域の妥当性を判断し（Ｓ４４）、妥当でない場合（Ｓ４５：ＮＯ）はＳ４２へ処理を戻す。
【００５８】
抽出された口領域が妥当である場合（Ｓ４５：ＹＥＳ）、縦横比算出部２２は、抽出された口領域の縦横比を算出し（Ｓ４６）、算出された縦横比をバッファＢ１へ格納する（Ｓ４７）。
【００５９】
次いで、フィルタ部２３は、バッファＢ１から過去の期間Ｔ１における縦横比の値を取り出す（Ｓ４８）。次いで、フィルタ部２３は、発話にかかる周波数成分を抽出するようにバンドパス／ローパスの周波数フィルタを設定し（Ｓ４９）、設定したフィルタ周波数に適したサンプリングで期間Ｔ１における縦横比の値を抽出する（Ｓ５０）。
【００６０】
次いで、発話判定部２４は、フィルタ部２３によるフィルタ後に得られた値をもとに、期間Ｔ１での値のばらつき（分散）を算出し（Ｓ５１）、算出されたばらつき（分散：Ｖ）値がＶｍａｘ以上（Ｖｍａｘ＜Ｖ）であるか否かを判定する（Ｓ５２）。Ｖｍａｘ＜Ｖである場合（Ｓ５２：ＹＥＳ）、発話判定部２４は、算出されたＶを新たなＶｍａｘ（Ｖｍａｘ＝Ｖ）として更新する（Ｓ５３）。Ｖｍａｘ＜Ｖでない場合（Ｓ５２：ＮＯ）、発話判定部２４は、Ｖｍａｘの更新を行うことなく、Ｓ５４へ処理を進める。
【００６１】
次いで、発話判定部２４は、動画ファイルの最後のフレームまで処理が進んでいるか否かを判定する（Ｓ５４）。最後のフレームまで処理が進んでいない場合（Ｓ５４：ＮＯ）、発話判定部２４は、Ｓ４２へ処理を戻し、次のフレームの処理を進める。
【００６２】
最後のフレームまで処理が進んでいる場合（Ｓ５４：ＹＥＳ）、発話判定部２４は、Ｖｍａｘが所定の閾値以上であるか否かを判定する（Ｓ５５）。
【００６３】
Ｖｍａｘが所定の閾値以上である場合（Ｓ５５：ＹＥＳ）、口領域の縦横比の周波数成分についての分散により、発話時の口の動きに近い縦横比の変動があったことから、発話判定部２４は、動画ファイルにおいて発話ありと判断する（Ｓ５６）。また、Ｖｍａｘが所定の閾値以上でない場合（Ｓ５５：ＮＯ）、口領域の縦横比の周波数成分についての分散により、発話時の口の動きに近い縦横比の変動がなかったことから、発話判定部２４は、動画ファイルにおいて発話無と判断する（Ｓ５７）。
【００６４】
このように、発話検知装置としての制御装置１は、撮影済みの動画ファイルにおける動画像からの発話判断を行ってもよい。
【００６５】
また、上記の実施形態では、インタラクションロボット２の制御装置１により発話検知装置を実現した場合について説明したが、これに限定されない。例えば、パーソナルコンピュータ（ＰＣ：Personal  Computer）を始めとする固定端末や、携帯電話機、ＰＨＳ（Personal  Handyphone  System）やＰＤＡ（Personal  Digital  Assistant）などの移動体端末により発話検知装置を実現してもよい。例えば、固定端末や移動体端末により発話検知装置を実現する場合、ディスプレイの上部などに設けられたカメラからの動画像により発話を検知すればよい。
【００６６】
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、発話検知部２０の各処理部が適宜統合されてもよい。また、各処理部の処理が適宜複数の処理部の処理に分離されてもよい。さらに、各処理部にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００６７】
また、上記の実施形態で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図７を用いて、上記の実施形態と同様の機能を有する発話検知プログラムを実行するコンピュータの一例について説明する。
【００６８】
図７は、発話検知プログラム１７０ａを実行するコンピュータ１００を説明する説明図である。図７に示すように、コンピュータ１００は、操作部１１０ａと、スピーカ１１０ｂと、カメラ１１０ｃと、マイク１１０ｄ、ディスプレイ１２０と、通信部１３０とを有する。さらに、このコンピュータ１００は、ＣＰＵ１５０と、ＲＯＭ１６０と、ＨＤＤ１７０と、ＲＡＭ１８０とを有する。これら１１０〜１８０の各部はバス１４０を介して接続される。
【００６９】
ＨＤＤ１７０には、制御装置１の各処理部と同様の機能を発揮する発話検知プログラム１７０ａが予め記憶される。この発話検知プログラム１７０ａについては、上述した実施形態で示した各構成要素と同様、適宜統合又は分離してもよい。すなわち、ＨＤＤ１７０に格納される各データは、常に全てのデータがＨＤＤ１７０に格納される必要はなく、処理に必要なデータのみがＨＤＤ１７０に格納されればよい。
【００７０】
そして、ＣＰＵ１５０が、発話検知プログラム１７０ａをＨＤＤ１７０から読み出してＲＡＭ１８０に展開する。これによって、発話検知プログラム１７０ａは、発話検知プロセス１８０ａとして機能する。この発話検知プロセス１８０ａは、ＨＤＤ１７０から読み出した各種データを適宜ＲＡＭ１８０上の自身に割り当てられた領域に展開し、この展開した各種データに基づいて各種処理を実行する。なお、発話検知プロセス１８０ａは、制御装置１の各処理部にて実行される処理、例えば図２に示す処理を含む。また、ＣＰＵ１５０上で仮想的に実現される各処理部は、常に全ての処理部がＣＰＵ１５０上で動作する必要はなく、処理に必要な処理部のみが仮想的に実現されれば良い。
【００７１】
なお、上記の発話検知プログラム１７０ａについては、必ずしも最初からＨＤＤ１７０やＲＯＭ１６０に記憶させておく必要はない。例えば、コンピュータ１００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ１００がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１００に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ１００がこれらから各プログラムを取得して実行するようにしてもよい。
【符号の説明】
【００７２】
１…制御装置
２…インタラクションロボット
３…カメラ
１０…画像入力部
２０…発話検知部
２１…口領域抽出部
２２…縦横比算出部
２３…フィルタ部
２４…発話判定部
３０…動作指示部
４０…モータ制御部
５０…スピーカ制御部
１００…コンピュータ
Ｂ１、Ｂ２、Ｂ３…バッファ
ｔ１、ｔ２…時刻
Ｔ１、Ｔ２…期間
【図１】
2016091324.tif 000003
【図２】
2016091324.tif 000004
【図３】
2016091324.tif 000005
【図４】
2016091324.tif 000006
【図５】
2016091324.tif 000007
【図６】
2016091324.tif 000008
【図７】
2016091324.tif 000009