(57)【要約】【課題】複数の音声認識装置間での調整を提供すること。【解決手段】本発明の一実施形態は音声認識装置を選択するための機構を説明し、該音声認識装置は検出された発話イベントに対応する音声コマンドを処理するために係る装置のネットワークに含まれる。ネットワークの音声認識装置は、装置の内のどの装置が発話イベントに対応する音声コマンドを処理するために最適であるのかを個別に判断する。動作中、同じ発話イベントを検出した音声認識装置のそれぞれは、音声コマンドを処理するために同じ装置を独立して選択する。選択された装置を含む音声認識装置のそれぞれは、音声コマンドを処理するために同じ装置を選択するため、音声認識装置は選択された装置に関係する情報を互いと共有する必要がない。【選択図】図３
2018197855.tif 000002
【特許請求の範囲】
【請求項１】
発話ベースのコマンドを処理する方法であって、
ローカルに検出された発話イベントと関連付けられた特徴の集合を生成することと、
外部装置から、前記外部装置によって検出された前記発話イベントと関連付けられた第２の特徴の集合を受信することと、
前記特徴の集合と前記第２の特徴の集合との比較に基づいて、前記発話イベントに対応するアクションがローカルに実行されるべきであると判断することと、
前記アクションをローカルに実行することと、
を含む、前記方法。
【請求項２】
前記特徴の集合が、前記発話イベントに対応するローカルに検出された音声信号の周波数を含み、前記発話イベントに対応する前記アクションがローカルに実行されるべきであると判断することが、前記周波数が人間の発話と関連付けられる周波数範囲内に入ると判断することを含む、請求項１に記載の方法。
【請求項３】
前記特徴の集合が、前記発話イベントに対応するローカルに検出された音声信号のエネルギーの測定量を含み、前記第２の特徴の集合が、前記発話イベントに対応する外部で検出された音声信号のエネルギーの第２の測定量を含み、前記発話イベントに対応する前記アクションがローカルに実行されるべきであると判断することが、前記ローカルに検出された音声信号のエネルギーの前記測定量が、前記外部で検出された音声信号のエネルギーの前記第２の測定量よりも大きいと判断することを含む、請求項１に記載の方法。
【請求項４】
前記特徴の集合が、前記発話イベントに対応するローカルに検出された音声の質の測定量を含み、前記第２の特徴の集合が前記発話イベントに対応する外部で検出された音声の質の第２の測定量を含み、前記発話イベントに対応する前記アクションがローカルに実行されるべきであると判断することが、前記ローカルに検出された音声の質の前記測定量が前記外部で検出された音声の質の前記第２の測定量よりも高いと判断することを含む、請求項１に記載の方法。
【請求項５】
前記特徴の集合が、前記発話イベントがローカルに検出されたときに対応するタイムスタンプを含み、前記第２の特徴の集合が、前記発話イベントが前記外部装置によって検出されたときに対応するタイムスタンプを含み、前記発話イベントに対応する前記アクションがローカルに実行されるべきであると判断することが、前記タイムスタンプに基づいて、前記発話イベントが前記外部装置によって検出された以前に前記発話イベントがローカルに検出されたと判断することを含む、請求項１に記載の方法。
【請求項６】
前記特徴の集合が、ローカルに検出された前記発話イベントから認識された話された内容と関連付けられた信頼スコアを含み、前記第２の特徴の集合が、前記外部装置によって検出された前記発話イベントから認識された話された内容と関連付けられた第２の信頼スコアを含み、前記発話イベントに対応する前記アクションがローカルに実行されるべきであると判断することが、前記ローカルに検出された音声の前記信頼スコアが前記第２の信頼スコアよりも高いと判断することを含む、請求項１に記載の方法。
【請求項７】
前記特徴の集合が、前記発話イベントから認識された話された内容と関連付けられた信頼スコアを含み、前記発話イベントに対応する前記アクションがローカルに実行されるべきであると判断することが、前記信頼スコアが閾値よりも大きいと判断することを含む、請求項１に記載の方法。
【請求項８】
前記特徴の集合が、前記発話イベントから認識された話された内容を含み、前記第２の特徴の集合が、前記発話イベントから認識された第２の話された内容を含み、前記発話イベントに対応する前記アクションがローカルに実行されるべきであると判断することが、前記話された内容が前記第２の話された内容と実質的に一致すると判断することを含む、請求項１に記載の方法。
【請求項９】
ローカルに検出された第２の発話イベントと関連付けられた第３の特徴の集合を生成することと、
前記外部装置から、前記外部装置によって検出された前記第２の発話イベントと関連付けられた第４の特徴の集合を受信することと、
前記第３の特徴の集合と前記第４の特徴の集合との比較に基づいて、前記発話イベントに対応するアクションが前記外部装置によって実行されるべきであると判断することと、
前記第２の発話イベントのローカル処理を終了することと、
をさらに含む、請求項１に記載の方法。
【請求項１０】
プロセッサによる実行時に、前記プロセッサに、
ローカルに検出された発話イベントと関連付けられた特徴の集合を生成するステップと、
外部装置から、前記外部装置によって検出された前記発話イベントと関連付けられた第２の特徴の集合を受信するステップと、
前記特徴の集合と前記第２の特徴の集合との比較に基づいて、前記発話イベントに対応するアクションがローカルに実行されるべきであると判断するステップと、
前記アクションをローカルに実行するステップと、
を実行することによって発話ベースのコマンドを処理させる命令を記憶するコンピュータ可読媒体。
【請求項１１】
前記特徴の集合が、前記発話イベントに対応するローカルに検出された音声信号の周波数を含み、前記発話イベントに対応する前記アクションがローカルに実行されるべきであると判断することが、前記周波数が人間の発話と関連付けられた周波数範囲内に入ると判断することを含む、請求項１０に記載のコンピュータ可読媒体。
【請求項１２】
前記特徴の集合が、前記発話イベントに対応するローカルに検出された音声信号のエネルギーの測定量を含み、前記第２の特徴の集合が、前記発話イベントに対応する外部で検出された音声信号のエネルギーの第２の測定量を含み、前記発話イベントに対応する前記アクションがローカルに実行されるべきであると判断することが、前記ローカルに検出された音声信号のエネルギーの前記測定量が、前記外部で検出された音声信号のエネルギーの前記第２の測定量よりも大きいと判断することを含む、請求項１０に記載のコンピュータ可読媒体。
【請求項１３】
前記特徴の集合が、前記発話イベントに対応するローカルに検出された音声の質の測定量を含み、前記第２の特徴の集合が前記発話イベントに対応する外部で検出された音声の質の第２の測定量を含み、前記発話イベントに対応する前記アクションがローカルに実行されるべきであると判断することが、前記ローカルに検出された音声の質の前記測定量が前記外部で検出された音声の質の前記第２の測定量よりも高いと判断することを含む、請求項１０に記載のコンピュータ可読媒体。
【請求項１４】
前記特徴の集合が、前記発話イベントがローカルに検出されたときに対応するタイムスタンプを含み、前記第２の特徴の集合が、前記発話イベントが前記外部装置によって検出されたときに対応するタイムスタンプを含み、前記発話イベントに対応する前記アクションがローカルに実行されるべきであると判断することが、前記タイムスタンプに基づいて、前記発話イベントが前記外部装置によって検出された以前に前記発話イベントがローカルに検出されたと判断することを含む、請求項１０に記載のコンピュータ可読媒体。
【請求項１５】
前記タイムスタンプが同期されたクロックに基づいて決定される、請求項１４に記載のコンピュータ可読媒体。
【請求項１６】
前記命令が、前記プロセッサに、前記外部装置によって検出された前記発話イベントが、ローカルに検出された前記発話イベントに一致すると判断するステップをさらに実行させる、請求項１０に記載のコンピュータ可読媒体。
【請求項１７】
前記外部装置によって検出された前記発話イベントが、ローカルに検出された前記発話イベントに一致すると判断することが、前記外部装置が前記発話イベントを検出したときに対応する外部タイムスタンプを、前記発話イベントがローカルに検出されたときに対応するローカルタイムスタンプと比較することを含む、請求項１６に記載のコンピュータ可読媒体。
【請求項１８】
前記外部装置によって検出された前記発話イベントが、ローカルに検出された前記発話イベントと一致すると判断することが、前記外部装置によって検出された前記発話イベントに基づいて認識された第１の内容を、ローカルに検出された前記発話イベントに基づいて認識された第２の内容と比較することを含む、請求項１６に記載のコンピュータ可読媒体。
【請求項１９】
音声認識システムであって、
マイクと、
コンピュータプロセッサであって、
前記マイクを介してローカルに検出された発話イベントと関連付けられた特徴の集合を生成するステップと、
外部で検出された前記発話イベントと関連付けられた第２の特徴の集合を受信するステップと、
前記特徴の集合と前記第２の特徴の集合との比較に基づいて、前記発話イベントに対応するアクションがローカルに実行されるべきであると判断するステップと、
前記アクションをローカルに実行するステップと、
を実行するために命令を実行する前記コンピュータプロセッサと、
を備える、前記音声認識システム。
【請求項２０】
前記命令が、
前記マイクを介してローカルに検出された第２の発話イベントと関連付けられた第３の特徴の集合を生成するステップと、
前記外部装置から、外部で検出された前記第２の発話イベントと関連付けられた第４の特徴の集合を受信するステップと、
前記第３の特徴の集合と前記第４の特徴の集合との比較に基づいて、前記発話イベントに対応するアクションが前記外部装置によって実行されるべきであると判断するステップと、
前記第２の発話イベントのローカル処理を終了するステップと、
を、前記プロセッサにさらに実行させる、請求項１９に記載の音声認識システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は概して音声認識装置に関し、より詳細には複数の音声認識装置間での調整に関する。
【背景技術】
【０００２】
消費者空間における音声認識はますます一般的になってきている。音声認識の１つの使用事例は、キーワードまたはキーフレーズに耳を傾け、以後に受信されるあらゆる音声ベースコマンドを処理するスタンドアロン音声認識装置である。音声認識装置が広く認められるにつれ、家庭またはオフィス等の環境が所与の音声ベースコマンドの傾聴範囲の中に複数の音声認識装置を有することはより一般的になる。
【０００３】
実際には、音声認識装置は、所与の装置が、該装置が受信するあらゆる音声ベースコマンドを処理するように独立して動作する。この独立した動作は、多くの係る装置がある環境では望ましくない結果につながる。特に、各音声認識装置が、理想的には１つの装置だけによって実行されるべきである、受信された音声ベースコマンドに基づいたアクションを独立して実行する場合がある。例えば、温度計で温度を５度上昇させるための音声コマンドが複数の装置によって連続して且つ独立して実行され、温度を不快な範囲または安全ではない範囲まで上昇させる場合がある。
【０００４】
一部のシステムでは、マスタ装置が異なる音声認識装置の間で調整して、各音声ベースコマンドを処理するための装置の１つを選択する。係るシステムの１つの欠点は、マスタ装置が音声認識装置のすべての間での調整仲介者として動作するので、音声ベースのコマンドを処理する待ち時間が増加することである。係るシステムの別の欠点は、マスタ装置がつねに存在し、利用可能であるという必要条件である。したがって、マスタ装置がオフラインになる状況では、システム全体が、所望されるように動作することができない。
【発明の概要】
【課題を解決するための手段】
【０００５】
本発明の一実施形態は、発話ベースのコマンドを処理するための方法を説明する。方法は、ローカルに検出された発話イベントと関連付けられた特徴の集合を生成することと、外部装置によって検出される発話イベントと関連付けられた第２の特徴の集合を外部装置から受信することとを含む。また、方法は、特徴の集合と第２の特徴の集合との比較に基づいて、発話イベントに対応するアクションがローカルに実行されるべきであると判断することと、アクションをローカルに実行することとを含む。
【０００６】
開示された方法の１つの優位点は、発話イベントをローカルに検出する装置が、やはり発話イベントを検出した可能性のある他の装置に対して発話イベントに対応する音声コマンドを処理するために最適であるかどうかを独立して判断できる点である。このようにして、装置のネットワーク内の各装置が、発話イベントに対応する音声コマンドを処理するために最適である装置を独立して選択する。別の優位点は、同じ発話イベントに応えて、重複するアクションが異なる装置によって実行される状況が削減される点である。
本願明細書は、例えば、以下の項目も提供する。
（項目１）
発話ベースのコマンドを処理する方法であって、
ローカルに検出された発話イベントと関連付けられた特徴の集合を生成することと、
外部装置から、上記外部装置によって検出された上記発話イベントと関連付けられた第２の特徴の集合を受信することと、
上記特徴の集合と上記第２の特徴の集合との比較に基づいて、上記発話イベントに対応するアクションがローカルに実行されるべきであると判断することと、
上記アクションをローカルに実行することと、
を含む、上記方法。
（項目２）
上記特徴の集合が、上記発話イベントに対応するローカルに検出された音声信号の周波数を含み、上記発話イベントに対応する上記アクションがローカルに実行されるべきであると判断することが、上記周波数が人間の発話と関連付けられる周波数範囲内に入ると判断することを含む、上記項目に記載の方法。
（項目３）
上記特徴の集合が、上記発話イベントに対応するローカルに検出された音声信号のエネルギーの測定量を含み、上記第２の特徴の集合が、上記発話イベントに対応する外部で検出された音声信号のエネルギーの第２の測定量を含み、上記発話イベントに対応する上記アクションがローカルに実行されるべきであると判断することが、上記ローカルに検出された音声信号のエネルギーの上記測定量が、上記外部で検出された音声信号のエネルギーの上記第２の測定量よりも大きいと判断することを含む、上記項目のいずれかに記載の方法。
（項目４）
上記特徴の集合が、上記発話イベントに対応するローカルに検出された音声の質の測定量を含み、上記第２の特徴の集合が上記発話イベントに対応する外部で検出された音声の質の第２の測定量を含み、上記発話イベントに対応する上記アクションがローカルに実行されるべきであると判断することが、上記ローカルに検出された音声の質の上記測定量が上記外部で検出された音声の質の上記第２の測定量よりも高いと判断することを含む、上記項目のいずれかに記載の方法。
（項目５）
上記特徴の集合が、上記発話イベントがローカルに検出されたときに対応するタイムスタンプを含み、上記第２の特徴の集合が、上記発話イベントが上記外部装置によって検出されたときに対応するタイムスタンプを含み、上記発話イベントに対応する上記アクションがローカルに実行されるべきであると判断することが、上記タイムスタンプに基づいて、上記発話イベントが上記外部装置によって検出された以前に上記発話イベントがローカルに検出されたと判断することを含む、上記項目のいずれかに記載の方法。
（項目６）
上記特徴の集合が、ローカルに検出された上記発話イベントから認識された話された内容と関連付けられた信頼スコアを含み、上記第２の特徴の集合が、上記外部装置によって検出された上記発話イベントから認識された話された内容と関連付けられた第２の信頼スコアを含み、上記発話イベントに対応する上記アクションがローカルに実行されるべきであると判断することが、上記ローカルに検出された音声の上記信頼スコアが上記第２の信頼スコアよりも高いと判断することを含む、上記項目のいずれかに記載の方法。
（項目７）
上記特徴の集合が、上記発話イベントから認識された話された内容と関連付けられた信頼スコアを含み、上記発話イベントに対応する上記アクションがローカルに実行されるべきであると判断することが、上記信頼スコアが閾値よりも大きいと判断することを含む、上記項目のいずれかに記載の方法。
（項目８）
上記特徴の集合が、上記発話イベントから認識された話された内容を含み、上記第２の特徴の集合が、上記発話イベントから認識された第２の話された内容を含み、上記発話イベントに対応する上記アクションがローカルに実行されるべきであると判断することが、上記話された内容が上記第２の話された内容と実質的に一致すると判断することを含む、上記項目のいずれかに記載の方法。
（項目９）
ローカルに検出された第２の発話イベントと関連付けられた第３の特徴の集合を生成することと、
上記外部装置から、上記外部装置によって検出された上記第２の発話イベントと関連付けられた第４の特徴の集合を受信することと、
上記第３の特徴の集合と上記第４の特徴の集合との比較に基づいて、上記発話イベントに対応するアクションが上記外部装置によって実行されるべきであると判断することと、
上記第２の発話イベントのローカル処理を終了することと、
をさらに含む、上記項目のいずれかに記載の方法。
（項目１０）
プロセッサによる実行時に、上記プロセッサに、
ローカルに検出された発話イベントと関連付けられた特徴の集合を生成するステップと、
外部装置から、上記外部装置によって検出された上記発話イベントと関連付けられた第２の特徴の集合を受信するステップと、
上記特徴の集合と上記第２の特徴の集合との比較に基づいて、上記発話イベントに対応するアクションがローカルに実行されるべきであると判断するステップと、
上記アクションをローカルに実行するステップと、
を実行することによって発話ベースのコマンドを処理させる命令を記憶するコンピュータ可読媒体。
（項目１１）
上記特徴の集合が、上記発話イベントに対応するローカルに検出された音声信号の周波数を含み、上記発話イベントに対応する上記アクションがローカルに実行されるべきであると判断することが、上記周波数が人間の発話と関連付けられた周波数範囲内に入ると判断することを含む、上記項目のいずれかに記載のコンピュータ可読媒体。
（項目１２）
上記特徴の集合が、上記発話イベントに対応するローカルに検出された音声信号のエネルギーの測定量を含み、上記第２の特徴の集合が、上記発話イベントに対応する外部で検出された音声信号のエネルギーの第２の測定量を含み、上記発話イベントに対応する上記アクションがローカルに実行されるべきであると判断することが、上記ローカルに検出された音声信号のエネルギーの上記測定量が、上記外部で検出された音声信号のエネルギーの上記第２の測定量よりも大きいと判断することを含む、上記項目のいずれかに記載のコンピュータ可読媒体。
（項目１３）
上記特徴の集合が、上記発話イベントに対応するローカルに検出された音声の質の測定量を含み、上記第２の特徴の集合が上記発話イベントに対応する外部で検出された音声の質の第２の測定量を含み、上記発話イベントに対応する上記アクションがローカルに実行されるべきであると判断することが、上記ローカルに検出された音声の質の上記測定量が上記外部で検出された音声の質の上記第２の測定量よりも高いと判断することを含む、上記項目のいずれかに記載のコンピュータ可読媒体。
（項目１４）
上記特徴の集合が、上記発話イベントがローカルに検出されたときに対応するタイムスタンプを含み、上記第２の特徴の集合が、上記発話イベントが上記外部装置によって検出されたときに対応するタイムスタンプを含み、上記発話イベントに対応する上記アクションがローカルに実行されるべきであると判断することが、上記タイムスタンプに基づいて、上記発話イベントが上記外部装置によって検出された以前に上記発話イベントがローカルに検出されたと判断することを含む、上記項目のいずれかに記載のコンピュータ可読媒体。
（項目１５）
上記タイムスタンプが同期されたクロックに基づいて決定される、上記項目のいずれかに記載のコンピュータ可読媒体。
（項目１６）
上記命令が、上記プロセッサに、上記外部装置によって検出された上記発話イベントが、ローカルに検出された上記発話イベントに一致すると判断するステップをさらに実行させる、上記項目のいずれかに記載のコンピュータ可読媒体。
（項目１７）
上記外部装置によって検出された上記発話イベントが、ローカルに検出された上記発話イベントに一致すると判断することが、上記外部装置が上記発話イベントを検出したときに対応する外部タイムスタンプを、上記発話イベントがローカルに検出されたときに対応するローカルタイムスタンプと比較することを含む、上記項目のいずれかに記載のコンピュータ可読媒体。
（項目１８）
上記外部装置によって検出された上記発話イベントが、ローカルに検出された上記発話イベントと一致すると判断することが、上記外部装置によって検出された上記発話イベントに基づいて認識された第１の内容を、ローカルに検出された上記発話イベントに基づいて認識された第２の内容と比較することを含む、上記項目のいずれかに記載のコンピュータ可読媒体。
（項目１９）
音声認識システムであって、
マイクと、
コンピュータプロセッサであって、
上記マイクを介してローカルに検出された発話イベントと関連付けられた特徴の集合を生成するステップと、
外部で検出された上記発話イベントと関連付けられた第２の特徴の集合を受信するステップと、
上記特徴の集合と上記第２の特徴の集合との比較に基づいて、上記発話イベントに対応するアクションがローカルに実行されるべきであると判断するステップと、
上記アクションをローカルに実行するステップと、
を実行するために命令を実行する上記コンピュータプロセッサと、
を備える、上記音声認識システム。
（項目２０）
上記命令が、
上記マイクを介してローカルに検出された第２の発話イベントと関連付けられた第３の特徴の集合を生成するステップと、
上記外部装置から、外部で検出された上記第２の発話イベントと関連付けられた第４の特徴の集合を受信するステップと、
上記第３の特徴の集合と上記第４の特徴の集合との比較に基づいて、上記発話イベントに対応するアクションが上記外部装置によって実行されるべきであると判断するステップと、
上記第２の発話イベントのローカル処理を終了するステップと、
を、上記プロセッサにさらに実行させる、上記項目のいずれかに記載の音声認識システム。
（摘要）
本発明の一実施形態は音声認識装置を選択するための機構を説明し、該音声認識装置は検出された発話イベントに対応する音声コマンドを処理するために係る装置のネットワークに含まれる。ネットワークの音声認識装置は、装置の内のどの装置が発話イベントに対応する音声コマンドを処理するために最適であるのかを個別に判断する。動作中、同じ発話イベントを検出した音声認識装置のそれぞれは、音声コマンドを処理するために同じ装置を独立して選択する。選択された装置を含む音声認識装置のそれぞれは、音声コマンドを処理するために同じ装置を選択するため、音声認識装置は選択された装置に関係する情報を互いと共有する必要がない。
【図面の簡単な説明】
【０００７】
【図１】本発明の１つ以上の態様を実施するように構成されたシステム環境を示す図である。
【図２】一実施形態に従って、ＶＲＤのブロック図を示す図である。
【図３】一実施形態に従って、発話ベースのコマンドを処理するための方法ステップの流れ図である。
【発明を実施するための形態】
【０００８】
以下の説明では、多数の具体的な詳細が本発明のより完全な理解を提供するために説明される。しかしながら、本発明がこれらの具体的な詳細の１つ以上なしで実践し得ることが当業者に明らかになる。他の例では、本発明を分かりにくくすることを回避するために周知の特色は説明されていない。
【０００９】
図１は、本発明の１つ以上の態様を実施するように構成されたシステム環境１００を示す。示されるように、システム環境１００は、音声認識装置（ＶＲＤ）ネットワーク１０２、処理システム１０６、及び音声信号１０８を含む。
【００１０】
ＶＲＤネットワーク１０２は、（集合的に「諸ＶＲＤ１０４」及び個別に「ＶＲＤ１０４」とも呼ばれる）複数のＶＲＤ１０４（１）〜（Ｎ）を含む。一実施形態では、ＶＲＤネットワーク１０２の諸ＶＲＤ１０４は、ネットワーク接続、物理的近接、及び／または共有ユーザ識別に基づいて自動的にグループ化される。別の実施形態では、諸ＶＲＤ１０４は、ユーザがＶＲＤネットワーク１０２に含まれる個別の諸ＶＲＤ１０４を選択するように手作業でグループ化される。
【００１１】
各ＶＲＤ１０４は、ＶＲＤ１０４が１つ以上のアクションを実行するための音声コマンドを完全にまたは部分的に、のどちらかで処理するように音声コマンドによって制御される。ＶＲＤ１０４は、音声コマンド（例えば、人間によって話される音声コマンド）を取り込むための少なくとも１つのマイクを含む。また、ＶＲＤ１０４は、少なくとも１つの音声出力機構（例えば、スピーカ）、及び／または外部音声出力機構に接続するための機構（例えば、外部スピーカに接続するための音声ジャックまたはＢｌｕｅｔｏｏｔｈ（登録商標））も含む。音声出力機構は、音声出力をＶＲＤ１０４のユーザに送達するために使用される。音声出力は、記録、テキストから発話の再生、音楽、ニュース等であってよい。
【００１２】
各ＶＲＤ１０４は、ＶＲＤネットワーク１０２のあらゆる他のＶＲＤ１０４にネットワーク接続を介して接続される。以下により詳細に説明されるように、諸ＶＲＤ１０４は、諸ＶＲＤ１０４によって実行される１つ以上のアクションを調整するためにネットワーク接続を介して互いと通信する。さらに、各ＶＲＤ１０４は、ＶＲＤネットワーク１０２から遠く離れている処理システム１０６へのネットワーク接続を介して接続される。一実施形態では、ＶＲＤ１０４は、マイクを介して取り込まれた音声コマンドを処理するために処理システム１０６と連動して動作する。
【００１３】
ＶＲＤ１０４は、話されたキーワードまたはキーフレーズを識別するためにマイクで起こりやすい音声信号１０８を処理することによって「傾聴」状態で動作する。いったんキーワードまたはキーフレーズが識別されると、ＶＲＤ１０４は、音声コマンドを識別するためにマイクで起こりやすいあらゆる追加の音声信号１０８を処理することによって「アクション」状態に切り替わる。一実施形態では、アクション状態で、ＶＲＤ１０４は、識別された音声コマンドと関連付けられた１つ以上のアクションを実行する。代替実施形態では、アクション状態で、音声信号１０８は記録され、処理システム１０６に送信される。処理システム１０６は、音声コマンドを識別するために受信された音声信号１０８に対して１つ以上の音声認識技術を実行し、任意選択で音声コマンドと関連付けられた１つ以上のアクションを実行する。ＶＲＤ１０４は、ユーザに音声コマンド及びあらゆる関連付けられたアクションを処理した結果を通知する。通知は、視覚的（例えば、点滅するライト）及び／または音声ベース（例えば、事前に録音された音声、テキストを発話に変換する音声等）である場合がある。
【００１４】
所与のとき、発話イベントと関連付けられた音声信号１０８はいくつかのＶＲＤ１０４に含まれるマイクで起こりやすい。したがって、ＶＲＤ１０４は、発話イベントに対応する音声コマンド（複数可）を処理するために諸ＶＲＤ１０４の内のどれが最適であるのかを判断するために調整する。動作中、所与のＶＲＤ１０４がアクション状態に切り替わるとき、ＶＲＤ１０４は、ＶＲＤネットワーク１０２の他の諸ＶＲＤ１０４も、該ＶＲＤ１０４をアクション状態に切り替えさせた同じ発話イベントに対応したかどうかを判断する。ＶＲＤネットワーク１０２の他の諸ＶＲＤも同じ発話イベントに対応した場合、次いでＶＲＤ１０４は、発話イベントに対応する音声コマンドを処理するために諸ＶＲＤ１０４の内の１つを選択する。同じ発話イベントに対応した諸ＶＲＤ１０４のそれぞれは、音声コマンドを処理するための同じＶＲＤ１０４を独立して選択する。選択されたＶＲＤ１０４を含む諸ＶＲＤ１０４のそれぞれは、音声コマンドを処理するための同じＶＲＤ１０４を選択するため、諸ＶＲＤ１０４は選択されたＶＲＤ１０４に関係する情報を互いと共有する必要はない。以下の説明は、この選択プロセスに関する詳細を提供する。
【００１５】
図２は、一実施形態に従って所与のＶＲＤ１０４のブロック図を示す。示されるように、ＶＲＤ１０４はクロック同期エンジン、発話認識エンジン２０４、相互ＶＲＤ通信エンジン２０６、ＶＲＤ選択エンジン２０８、及びローカルコマンド処理エンジン２１０を含む。
【００１６】
クロック同期エンジン２０２は、ＶＲＤネットワーク１０２のすべてのＶＲＤ１０４全体で同期されるクロックを維持する。一実施形態では、同期されたクロックは専用クロックである。別の実施形態では、同期されたクロックは、各ＶＲＤ１０４にローカルクロックと取り決められたマスタクロックとの間の時間差のオフセットの近似値を追跡させることによって計算されるクロック値である。クロックを同期させるためのいくつかの技術は、ネットワークタイムプロトコル（ＮＴＰ）及び全地球測位衛星（ＧＰＳ）を含む。
【００１７】
発話認識エンジン２０４は、（本明細書で「認識された発話」と呼ばれる）発話イベントに対応する発話の内容を認識するために音声信号を分析する。一実施形態では、音声信号の分析は、語彙からの単語、句、またはコマンドに対応する音響モデルに基づいている。当業者は、発話の内容を認識するための任意の他の技術が範囲内にあることを理解するだろう。
【００１８】
また、発話認識エンジン２０４は、認識された発話の多様な特徴と関連付けられたメタデータも生成する。特に、発話認識エンジン２０４は、受信された音声信号のエネルギーの測定量及び音声信号の背景雑音に基づいて認識された発話と関連付けられた入力品質測定基準を生成する。一実施形態では、音源からの音響強度は距離の２乗分減少するので、音声信号のエネルギーが低いほど、入力品質測定基準は低くなる。また、発話認識エンジン２０４は、認識された発話が話された単語に関連して正確である及び／または正しいという確実性に基づいて認識された発話と関連付けられた出力品質測定基準も生成する。さらに、発話認識エンジン２０４は、認識された発話と関連付けられたタイミング情報を生成する。一実施形態では、タイミング情報は、認識された発話と関連付けられた音声信号がＶＲＤ１０４によって受信されたときに対応する、クロック同期エンジン２０２から取り込まれたタイムスタンプを示す。
【００１９】
一実施形態では、発話認識エンジン２０４は、発話認識動作及び／またはメタデータ生成動作を実行するために処理システム１０６と連動して動作する。係る実施形態では、発話認識エンジン２０４は、処理システム１０６に受信された音声信号を送信し、それに応えて、認識された発話及び／または関連付けられたメタデータを受信する。
【００２０】
発話認識エンジン２０４は、認識された発話及びローカルに検出された発話イベントに対応する関連付けられたメタデータを相互ＶＲＤ通信エンジン２０６及びＶＲＤ選択エンジン２０８に送信する。相互ＶＲＤ通信エンジン２０６は、認識された発話及び関連付けられたメタデータをＶＲＤネットワーク１０２の他の諸ＶＲＤ１０４に送信する。一部の実施形態では、同じ発話イベントを検出したＶＲＤネットワーク１０２の他の諸ＶＲＤ１０４（本明細書では「外部諸ＶＲＤ１０４」と呼ばれる）は、外部で検出された発話イベントに対応する認識された発話及びメタデータを相互ＶＲＤ通信エンジン２０６に送信する。相互ＶＲＤ通信エンジン２０６は、外部諸ＶＲＤ１０４から受信された認識された発話及び関連付けられたメタデータだけではなく、発話認識エンジン２０４からの認識された発話及び関連付けられたメタデータもＶＲＤ選択エンジン２０８に送信する。
【００２１】
ＶＲＤ選択エンジン２０８は、発話イベントと関連付けられたコマンドを処理するための所与の発話イベントを検出した諸ＶＲＤ１０４の１つを選択する。動作中、ＶＲＤ選択エンジン２０８は、発話認識エンジン２０４からローカルに検出された音声イベントに対応する認識された発話及び関連付けられたメタデータを受信する。また、ＶＲＤ選択エンジン２０８は、相互ＶＲＤ通信エンジン２０８から、外部で検出された発話イベントに対応する認識された発話及び関連付けられたメタデータを受信する。これらの外部で検出された発話イベントは、外部諸ＶＲＤ１０４によって検出される。ＶＲＤ選択エンジン２０８は、ローカルに検出された発話イベントが、もしあれば外部で検出された発話イベントと同じであるかどうかを判断し、同じである場合、発話イベントを検出した該ＶＲＤ１０４のどれが認識された発話をさらに処理すべきかどうかを判断する。
【００２２】
ローカルに検出された発話イベントが外部で検出された発話イベントと同じであるかどうかを判断するために、ＶＲＤ選択エンジン２０８は検出された発話イベントのそれぞれに対応するメタデータを評価する。特に、ローカルに検出された発話イベント及び外部で検出された発話イベントに対応するメタデータに含まれるタイミング情報が、イベントが互いの閾値時間内に発生したことを示す場合、次いでＶＲＤ選択エンジン２０８は、ローカルに検出された発話イベント及び外部で検出された発話イベントが同じであると判断する。さらに、ローカルに検出された発話イベント及び外部で検出された発話イベントに対応する認識された発話が一致する（または実質的に一致する）場合、次いでＶＲＤ選択エンジン２０８は、ローカルに検出された発話イベント及び外部で検出された発話イベントが同じであると判断する。一部の実施形態では、ＶＲＤ選択エンジン２０８は（ｉ）外部で検出された発話イベントに対応する認識された発話及びメタデータを受信しない、または（ｉｉ）外部で検出された発話イベントのいずれもローカルに検出された発話イベントと同じではない。係る実施形態では、ＶＲＤ選択エンジン２０８は、認識された発話をさらに処理するためにローカルＶＲＤ１０４を選択する。
【００２３】
１つ以上の外部諸ＶＲＤ１０４も発話イベントを検出すると、ローカルＶＲＤ１０４のＶＲＤ選択エンジン２０８は、認識された発話をさらに処理するために諸ＶＲＤ１０４の１つを選択する。選択されたＶＲＤ１０４はローカルＶＲＤ１０４または外部ＶＲＤ１０４のどちらかであってよい。動作中、異なる諸ＶＲＤ１０４全体での各ＶＲＤ選択エンジン２０８は、認識された発話をさらに処理するために同じＶＲＤ１０４を選択する。選択されたＶＲＤ１０４がローカルＶＲＤ１０４である場合、次いでローカルＶＲＤ１０４は（ローカルコマンド処理エンジン２１０を使用し）認識された発話を処理し続ける。しかしながら、選択されたＶＲＤ１０４が外部ＶＲＤ１０４である場合、次いでローカルＶＲＤ１０４は認識された発話をこれ以上処理しない。
【００２４】
認識された発話をさらに処理するＶＲＤ１０４を選択するために、ＶＲＤ選択エンジン２０８は、検出された発話イベントのそれぞれに対応する認識された発話のメタデータ及び／または内容を評価する。特に、ＶＲＤ選択エンジン２０８は、認識された発話をさらに処理するＶＲＤ１０４を選択するために、認識された発話のタイミング情報、入力品質測定基準、出力品質測定基準、及び内容の１つ以上を評価する。以下の説明は、認識された発話のタイミング情報、測定基準、及び内容のそれぞれが、選択を行うためにＶＲＤ選択エンジン２０８によって個別にどのようにして使用できるのかを説明する。他の実施形態では、認識された発話のタイミング情報、測定基準、及び内容は、重み関数を使用し結合できる、または最終的な選択の前に特定の諸ＶＲＤ１０４をフィルタにかけるために個別にまたは組み合わせて使用できる。
【００２５】
タイミング情報に関して、ＶＲＤ選択エンジン２０８は、検出された発話イベントに対応するタイムスタンプを評価し、最も早期のタイムスタンプを有する検出された発話イベントを識別する。上述されたように、検出された発話イベントに対応するタイムスタンプは、音声信号が、発話イベントを検出したＶＲＤ１０４によって受信された時を示す。最も早期のタイムスタンプに対応する発話イベントを検出したＶＲＤ１０４は、認識された発話をさらに処理するために選択される。２つ以上の検出された発話イベントが時間的に同じであるまたは近いタイムスタンプを有する場合、ＶＲＤ選択エンジン２０８は、決定的な動作を実行する。一実施形態では、決定的な動作は、最も低いＭＡＣアドレスを有するＶＲＤ１０４を選択する。
【００２６】
入力品質測定基準に関して、検出された発話イベントごとに、ＶＲＤ選択エンジン２０８は対応する入力品質測定基準に基づいて入力品質スコアを計算する。入力品質スコアを計算するために、ＶＲＤ選択エンジン２０８は、人間の発話にとって典型的な周波数範囲内（例えば、３００Ｈｚ〜３ｋＨｚ）にある音声信号のエネルギーの量を決定する。所与の検出された発話イベントの場合、音声信号のエネルギーの閾値量未満がその範囲内にある場合、次いで検出された発話イベントは人間の発話である可能性が低い、または人間の発話と結合されたかなりの雑音を含む場合がある。また、ＶＲＤ選択エンジン２０８は、音声信号のエネルギー量を、無事に処理された以前に検出された音声イベントに対応する音声信号のエネルギー量と比較する。所与の検出された音声イベントの場合、エネルギーの量が以前に検出された発話イベントの範囲内にある場合、次いで検出された発話イベントは人間の発話である可能性がより高く、音声信号が良質である可能性がある。また、ＶＲＤ選択エンジン２０８は、受信された音声の全体的な質も決定する。音声の全体的な質は、音声が認識可能な雑音（例えば、ポンという音もしくはカチッという音）を含むかどうか及び／または音声のサンプルレートに基づく場合がある。
【００２７】
ＶＲＤ選択エンジン２０８は、人間の発話にとって典型的な周波数範囲内のエネルギー量、以前に検出された発話イベントとのエネルギー量の比較、及び音声の全体的な質に基づいて所与の検出発話イベントの入力品質スコアを計算する。ＶＲＤ選択エンジン２０８は、これらの特徴のそれぞれと数値を関連付け、次いで入力品質スコアを計算するためにそれらの数値を比較考量し、合計してよい。ＶＲＤ選択エンジン２０８は、どのＶＲＤ１０４が最良の品質の信号を受信したのか、及びどのＶＲＤ１０４が発話イベントをさらに処理するために選択されるべきかを判断するために、検出された発話イベントのそれぞれに対応する入力品質スコアを比較する。一実施形態では、最高の入力品質スコアを有する音声イベントを検出したＶＲＤ１０４が、認識された発話をさらに処理するために選択される。他の実施形態では、ＶＲＤ選択エンジン２０８は、選択を行うために入力品質スコアを、検出された発話イベントと関連付けられた他の測定基準と結合する。
【００２８】
出力品質測定基準に関して、ＶＲＤ選択エンジン２０８は検出された発話イベントに対応する出力品質測定基準を評価し、最高の出力品質測定基準を有する検出された発話イベントを識別する。上述されたように、認識された発話と関連付けられた出力品質測定基準は、認識された発話が話された単語に関連して正確である及び／または正しいという確実性を示す。最高の出力品質測定基準に対応する発話イベントを検出したＶＲＤ１０４は、認識された発話をさらに処理するために選択される。２つ以上の検出された発話イベントが同等な品質及び／または確実性値を有する場合、ＶＲＤ選択エンジン２０８は決定的な動作を実行する。一実施形態では、決着を付ける動作は、最も低いＭＡＣアドレスを有するＶＲＤ１０４を選択する。
【００２９】
認識された発話の内容に関して、ＶＲＤ選択エンジン２０８は、検出された発話イベントに対応する内容を評価し、同じ内容を認識した諸ＶＲＤ１０４の数を決定する。少なくとも閾値数または閾値パーセンテージの諸ＶＲＤ１０４が同じ内容を認識したとき、ＶＲＤ選択エンジン２０８は、認識された発話をさらに処理するためにその内容を認識した諸ＶＲＤ１０４の１つを選択する。少なくとも閾値数または閾値パーセンテージの諸ＶＲＤ１０４が同じ内容を認識しなかった場合、ＶＲＤ選択エンジン２０８は、諸ＶＲＤ１０４のどれも認識された発話をさらに処理するために選択されるべきではないと判断してよい。
【００３０】
上述されたように、ＶＲＤ選択エンジン２０８は、認識された発話をさらに処理するＶＲＤ１０４を選択するために、重み関数を使用し、認識された発話のタイミング情報、測定基準、及び内容を結合できる。各ＶＲＤ選択エンジン２０８は異なるＶＲＤ１０４全体で同じＶＲＤ１０４を選択して、認識された発話をさらに処理するために同じ基準を使用する。選択されたＶＲＤ１０４がローカルＶＲＤ１０４である場合、次いでローカルＶＲＤ１０４は認識された発話を処理し続ける。しかしながら、選択されたＶＲＤ１０４が外部ＶＲＤ１０４である場合、次いでローカルＶＲＤ１０４は認識された発話をこれ以上処理しない。各ＶＲＤ選択エンジン２０８は異なる諸ＶＲＤ１０４全体で、認識された発話をさらに処理するための同じＶＲＤ１０４を選択するので、諸ＶＲＤ１０４は選択を互いに伝達する必要がない。
【００３１】
ローカルコマンド処理エンジン２１０は、認識された発話に含まれる音声コマンドと関連付けられた１つ以上のアクションをローカルに実行する。代替実施形態では、ローカルコマンド処理エンジン２１０は、音声コマンドと関連付けられた１つ以上のアクションを実行するために処理システム１０６と調整する。ローカルコマンド処理エンジン２１０は、ユーザに音声コマンドと関連付けられたアクションを実行した結果を任意選択で通知する。通知は視覚的（例えば、点滅するライト）及び／または音声ベース（例えば、事前に記録された音声、テキストを発話に変換する音声等）である場合がある。
【００３２】
図３は、一実施形態に従って発話ベースのコマンドを処理するための方法ステップの流れ図である。方法ステップは図１〜図２のシステムと併せて説明されるが、当業者は、方法ステップを任意の順序で実行するように構成された任意のシステムが本発明の範囲内にあることを理解するだろう。
【００３３】
方法３００は、ローカルＶＲＤ１０４の発話認識エンジン２０４が発話イベントをローカルに検出するステップ３０２で始まる。発話認識エンジン２０４は発話イベントと関連付けられた音声信号を分析し、発話イベントに対応する発話の内容を認識する。一実施形態では、音声信号の分析は、語彙からの単語、句、またはコマンドに対応する音声モデルに基づいている。当業者は、発話の内容を認識するための任意の他の技術が範囲内にあることを理解する。
【００３４】
ステップ３０４で、発話認識エンジン２０４は、ローカルに検出された発話イベントと関連付けられた特徴の集合を生成する。特徴は、受信された音声信号のエネルギーの測定量及び音声信号の背景雑音に基づいて決定された入力品質測定基準を含む。また、特徴は、認識された発話が話された単語に関連して正確である及び／または正しいという確実性に基づいて決定された出力品質測定基準も含む。さらに、特徴は、認識された発話と関連付けられた音声信号がＶＲＤ１０４によって受信されたときに対応するタイムスタンプを示すタイミング情報を含む。発話認識エンジン２０４は、ローカルＶＲＤ１０４に含まれるＶＲＤ選択エンジン２０８に特徴の集合を送信する。
【００３５】
ステップ３０６で、ローカルＶＲＤ１０４に含まれるＶＲＤ選択エンジン２０８はタイマを起動する。タイマ期間は、ローカルＶＲＤ１０４に含まれる相互ＶＲＤ通信エンジン２０６が、タイマが期限切れになる前にＶＲＤネットワーク１０２の他のすべてのＶＲＤ１０４から認識された発話及び関連付けられたメタデータを受信する時間を有するほどである。
【００３６】
ステップ３０８で、ローカルＶＲＤ１０４に含まれるＶＲＤ選択エンジン２０８は、タイマが期限切れになるのを待機し、外部ＶＲＤ１０４によって検出された同じ発話イベントと関連付けられた第２の特徴の集合を受信するのも待機する。いったんこれらのイベントのいずれかが発生すると、方法３００がステップ３１０に進む。
【００３７】
ステップ３１０で、タイマがそれ以上の特徴が受信される前にステップ３０８で期限切れになった場合、次いで方法３００はステップ３１６に進む。それ以外の場合、ステップ３０８で、ローカルＶＲＤ１０４に含まれるＶＲＤ選択エンジン２０８は、外部ＶＲＤ１０４によって検出された同じ発話イベントと関連付けられた第２の特徴の集合を受信した。特徴は、入力品質測定基準、出力品質測定基準、及び外部で検出された発話イベントに対応するタイミング情報を含む。この場合、方法３００は、受信された第２の特徴の集合を処理するためにステップ３１２に進む。
【００３８】
特徴が、方法３００の開始以来、外部ＶＲＤ１０４ごとにステップ３１４によって受信され、評価された場合、次いでステップ３０８及び３１０は、これ以上の特徴は期待されていないので、ステップ３０８にタイマが期限切れになるのを待機させ続けるよりむしろ、タイマを期限切れとなったとして扱ってよい。
【００３９】
３１２で、ＶＲＤ選択エンジン２０８は、発話イベントに対応する任意の追加のアクションが、第１の特徴の集合及び第２の特徴の集合に基づいてローカルＶＲＤ１０４によって実行されるべきかどうかを判断する。ＶＲＤ選択エンジン２０８は、動作中、ローカルＶＲＤ１０４がやはり同じ発話イベントを検出した外部諸ＶＲＤ１０４に関連して発話イベントに対応する音声コマンドを処理するためにより適しているかどうかを判断するために、第１の特徴の集合を第２の特徴の集合と比較する。
【００４０】
ステップ３１４で、ＶＲＤ選択エンジン２０８が、ローカルＶＲＤが発話イベントに対応する追加のアクションを実行すべきであると判断する場合、次いで方法３００は、他の外部諸ＶＲＤ１０４から特徴を待機するためにステップ３０８に進む。しかしながら、ステップ３１４で、ＶＲＤ選択エンジン２０８が、ローカルＶＲＤが発話イベントに対応する追加のアクションを実行すべきではないと判断する場合、次いで方法３００は終了する。
【００４１】
ステップ３１６で、ローカル処理エンジン２１０は発話イベントに対応する１つ以上のアクションをローカルに実行する。一実施形態では、ローカル処理エンジン２１０は、アクションを実行するために処理システム１０６と連動して動作する。
【００４２】
要するに、所与のときに、発話イベントと関連付けられた音声信号がいくつかのＶＲＤ１０４に含まれるマイクで起こりやすい。したがって、諸ＶＲＤ１０４は、諸ＶＲＤ１０４のどれが発話イベントに対応する音声コマンドを処理するために最も適しているのかを個別に判断する。動作中、ローカルに発話イベントを検出したＶＲＤ１０４は、ＶＲＤネットワーク１０２の他の諸ＶＲＤ１０４が同じ発話イベントを検出したかどうかも判断する。検出した場合、次いでＶＲＤ１０４は、発話イベントに対応する音声コマンドを処理するために諸ＶＲＤ１０４の１つを選択する。同じ発話イベントを検出した諸ＶＲＤ１０４のそれぞれは、音声コマンドを処理するために同じＶＲＤ１０４を独立して選択する。選択されたＶＲＤ１０４を含む諸ＶＲＤ１０４のそれぞれが音声コマンドを処理するために同じＶＲＤ１０４を選択するため、諸ＶＲＤ１０４は、選択されたＶＲＤ１０４に関係する情報を互いと共有する必要はない。
【００４３】
上記は本発明の実施形態を対象とするが、本発明の他の実施形態及び追加の実施形態は、その基本的な範囲から逸脱することなく考案され得る。例えば、本発明の態様は、ハードウェアもしくはソフトウェアで、またはハードウェア及びソフトウェアの組み合わせで実施されてよい。本発明の一実施形態は、コンピュータシステムとの使用のためにプログラム製品として実施されてよい。プログラム製品のプログラム（複数可）は、（本明細書に説明される方法を含む）実施形態の機能を定義し、さまざまなコンピュータ可読記憶媒体に含むことができる。例示的なコンピュータ可読媒体は、（ｉ）情報が恒久的に記憶される書き込み不可記憶媒体（例えば、ＣＤ−ＲＯＭドライブ、フラッシュメモリ、ＲＯＭチップ、または任意のタイプのソリッドステート不揮発性半導体メモリによって読取り可能なＣＤ−ＲＯＭディスク等のコンピュータの中の読み出し専用メモリ装置）、及び（ｉｉ）改変可能な情報が記憶される書き込み可能記憶媒体（例えば、ディスケットドライブの中のフロッピー（登録商標）ディスク、またはハードディスクドライブ、または任意のタイプのソリッドステートランダムアクセス半導体メモリ）を含むが、これに限定されるものではない。係るコンピュータ可読記憶媒体は、本発明の機能を指示するコンピュータ可読命令を搬送するとき、本発明の実施形態である。
【００４４】
上記を考慮して、本発明の範囲は、続く特許請求の範囲によって決定される。
【図１】
2018197855.tif 000003
【図２】
2018197855.tif 000004
【図３】
2018197855.tif 000005