(57)【要約】  コンピューティングデバイスのための電力消費が、１つ以上のキーワードによって管理され得る。例えば、コンピューティングデバイスによって取得された音声入力がキーワードを含む場合、コンピューティングデバイスのネットワークインターフェイスモジュールおよび／またはアプリケーション処理モジュールが起動されてもよい。音声入力は、その後、ネットワークインターフェイスモジュールを介して発話認識サーバなどの遠隔コンピューティングデバイスに送信されてもよい。あるいは、コンピューティングデバイスには、オンデバイス発話認識のために音声入力を処理するように構成された発話認識エンジンが提供されてもよい。
2016505888.tif 000002
【特許請求の範囲】
【請求項１】
音声入力モジュールと、
音声検出モジュールと、
発話検出モジュールと、
ウェイクワード認識モジュールと、
ネットワークインターフェイスモジュールと、
を備えるシステムであって、
前記音声入力モジュールは、音声入力を受信するように構成され、
前記音声検出モジュールは、前記音声入力モジュールと通信し、前記音声入力の量を決定し、前記決定された量に少なくとも部分的に基づいて、発話検出モジュールを起動させるように構成され、
前記発話検出モジュールは、前記音声入力が発話を含む可能性を示す第１のスコアを決定し、前記スコアに少なくとも部分的に基づいて、前記ウェイクワード認識モジュールを起動させるように構成され、
前記ウェイクワード認識モジュールは、前記音声入力がウェイクワードを含む可能性を示す第２のスコアを決定するように構成され、
前記ネットワークインターフェイスモジュールは、前記取得された音声入力の少なくとも一部を遠隔コンピューティングデバイスに送信するように構成される、
システム。
【請求項２】
前記音声入力デバイスは、マイクロフォンを備え、
前記音声検出モジュールは、第１のデジタル信号プロセッサを備え、
前記発話検出モジュールは、第２のデジタル信号プロセッサを備え、
前記ウェイクワード認識モジュールは、マイクロプロセッサを備える、
請求項１に記載のシステム。
【請求項３】
前記発話検出モジュールは、隠れモルコフモデル、ガウス混合モデル、複数のスペクトル帯におけるエネルギー、および、複数のスペクトル帯における信号対雑音比のうちの少なくとも１つを使用して、前記第１のスコアを判定するようにさらに構成され、
前記ウェイクワード認識モジュールは、アプリケーション処理モジュール、隠れモルコフモデル、および、ガウス混合モデルのうちの少なくとも１つを使用して、前記第２のスコアを判定するようにさらに構成される、
請求項１に記載のシステム。
【請求項４】
前記ウェイクワード認識モジュールは、前記第１のスコアに少なくとも部分的に基づいて、前記音声検出モジュールを停止させるようにさらに構成され、
前記ウェイクワード認識モジュールは、前記第２のスコアに少なくとも部分的に基づいて、前記発話検出モジュールを停止させるようにさらに構成される、
請求項１に記載のシステム。
【請求項５】
第１のコンピューティングデバイスを動作させるコンピュータ実装方法であって、
音声入力を受信するステップと、
前記音声入力から１つ以上の値であって、
前記音声入力のエネルギーレベルを示す第１の値と、
前記音声入力が発話を含む可能性を示す第２の値と、
のうちの少なくとも１つを含む、１つ以上の値を決定するステップと、
前記１つ以上の値に少なくとも部分的に基づいて、前記第１のコンピューティングデバイスの第１のモジュールを起動するステップと、
前記第１のモジュールによって動作を行うステップと、
を含み、
前記動作は、
前記音声入力がウェイクワードを含むと決定するステップと、
発話認識結果を取得するために、前記音声入力の少なくとも一部に対して発話認識を行うステップと、
前記音声入力の少なくとも一部を第２のコンピューティングデバイスに送信させるステップと、
のうちの少なくとも１つを含む、
方法。
【請求項６】
前記第１のモジュールは、低出力状態と高出力状態との間で切り替え可能なプロセッサを含み、
前記プロセッサは、高出力状態にあるときのみ、前記動作を行う、
請求項５に記載のコンピュータ実装方法。
【請求項７】
前記第１のモジュールを起動するステップは、前記プロセッサを、前記低出力状態から前記高出力状態に切り替えるステップを含む、
請求項６に記載のコンピュータ実装方法。
【請求項８】
前記第１のモジュールを停止するステップさらに含み、前記第１のモジュールを停止するステップは、前記プロセッサを前記高出力状態から前記低出力状態に切り替えるステップを含む、
請求項６に記載のコンピュータ実装方法。
【請求項９】
前記プロセッサは、デジタル信号プロセッサまたはマイクロプロセッサのうちの少なくとも１つを含む、
請求項６に記載のコンピュータ実装方法。
【請求項１０】
前記動作は、
前記音声入力の少なくとも一部を前記第２のコンピューティングデバイスに送信させるステップと、
前記第２のコンピューティングデバイスから発話認識結果を受信するステップと、
をさらに含む、
請求項５に記載のコンピュータ実装方法。
【請求項１１】
前記１つ以上の値に少なくとも部分的に基づいて、前記第１のコンピューティングデバイスの第２のモジュールであって、発話認識アプリケーションを実装するように構成された第２のモジュールを起動するステップと、
前記発話認識アプリケーションを用いて、前記発話認識結果を処理するステップと、
をさらに含む、
請求項１０に記載のコンピュータ実装方法。
【請求項１２】
第１のプロセッサおよび第２のプロセッサを備えるデバイスであって、
前記第１のプロセッサは、
音声入力のエネルギーレベルを示す第１の値と、前記音声入力が発話を含む可能性を示す第２の値と、のうちの少なくとも１つを含む１つ以上の値を決定し、
前記１つ以上の値に少なくとも部分的に基づいて、前記第２のプロセッサを起動させる、
ように構成され、
前記第２のプロセッサは、動作を行うように構成され、前記動作は、
前記音声入力がウェイクワードを含むと決定するステップと、
発話認識結果を取得するために、前記音声入力の少なくとも一部に対して発話認識を行うステップと、
前記音声入力の少なくとも一部を第２のデバイスに送信させるステップと、
のうちの少なくとも１つを含む、
デバイス。
【請求項１３】
前記第１のプロセッサは、デジタル信号プロセッサまたはマイクロプロセッサのうちの少なくとも１つを含む、
請求項１２に記載のデバイス。
【請求項１４】
前記音声入力を記憶するように構成されたメモリバッファモジュールをさらに備える、
請求項１２に記載のデバイス。
【請求項１５】
前記第１のプロセッサと通信する音声入力モジュールをさらに備え、前記音声入力モジュールは、前記音声入力を取得するように構成される、
請求項１２に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
コンピューティングデバイスは、発話認識機能を含むことができる。例えば、コンピューティングデバイスは、音響モデルおよび言語モデルを使用して、音声入力を保存して、発話を認識することが可能である。音響モデルは、発話の音響特性に基づいて、どの音声サブワード単位（例えば、音素など）が発話に対応するかに関する仮説を生成するために使用される。言語モデルは、その発話が話されている言語の語彙の特徴に基づいて、その音響モデルを使用して生成された仮説のうちのどれが、その発話の最も可能性のある音訳であるかを判定するために使用される。コンピューティングデバイスは、特定の発話認識アプリケーションのために認識された発話を処理することが可能な場合もある。例えば、有限文法または自然言語の処理技術が、発話を処理するために使用されてもよい。
【０００２】
本開示の付帯的な特徴の種々の態様およびその多くは、それらが添付の図面に関連して考慮されるとき、以下の詳細な記述に関してよりよく理解されるため、より容易に理解される。
【図面の簡単な説明】
【０００３】
【図１】実例的な電力管理サブシステムを図示する概略図である。
【図２】電力管理サブシステムを含む実例的なユーザコンピューティングデバイスを図示する概略図である。
【図３】図１の電力管理サブシステムによって実装されてもよい発話認識電力管理のための実例的なルーティンを図示するフロー図である。
【図４Ａ】分散型発話認識システムの実例的な動作を図示する状態図である。
【図４Ｂ】分散型発話認識システムの実例的な動作を図示する状態図である。
【図４Ｃ】分散型発話認識システムの実例的な動作を図示する状態図である。
【図５】電力管理サブシステムを含むユーザコンピューティングデバイスによって提供されることがある実例的なユーザインターフェイスを図示する絵図である。
【発明を実施するための形態】
【０００４】
発話認識に対するいくつかの現在のアプローチにおいて、発話認識機能は、分散型コンピュータ環境における１つ以上のコンピューティングデバイスに割り当てられている。これらのアプローチの特定の例では、第１のコンピューティングデバイスは、音声入力を保存するために構成されてもよいし、第２のコンピューティングデバイスに対するネットワークを通じて音声入力を送信してもよい。第２のコンピューティングデバイスは、音声入力上で発話認識を行い、音声入力に含まれる発話の音訳を生成してもよい。発話の音訳は、その後、ネットワークを通じて、第２のコンピューティングデバイスから第１のコンピューティングデバイスに戻されるように送信されてもよい。他の現在のアプローチにおいて、第１のコンピューティングデバイスは、音声入力を保存し、それ自身の上に音声入力を音訳するように構成されてもよい。
【０００５】
これらおよび他の現在のアプローチにおいて、第１のコンピューティングデバイスは、持続的なアクティブ状態にとどまるように構成されてもよい。このような持続的なアクティブ状態において、第１のコンピューティングデバイスは、第２のコンピューティングデバイスに対してネットワーク接続を持続的に、維持してもよい。第１のコンピューティングデバイスは、また、それ自身の発話認識機能を実装するために使用される任意のハードウェアに電力を供給し続けてもよい。これらのアプローチの欠点の１つはとりわけ、第１のコンピューティングデバイスが、持続的なアクティブ状態を維持するために、許容できない量のエネルギーを消費するかもしれないことである。このようなエネルギーの需要が、バッテリ電源に依存するモバイルコンピューティングデバイスにとって特に問題であることが分かることがある。さらに他の問題は、現在のアプローチに存在する。
【０００６】
したがって、本開示の態様は、発話認識のための電力管理に関する。コンピューティングデバイスには、コンピューティングデバイスのうちの１つ以上のモジュールを選択的に起動する、または停止する電力管理サブシステムが提供されてもよい。この起動は、本願において「キーワード」と称される場合もある、１つ以上の予め指定した話し言葉を含む音声入力に応答してもよい。起動されてもよい１つ以上の構成要素の起動を促進するキーワードは、本願において「ウェイクワード」と称されることがある一方、１つ以上の構成要素の停止を促進するキーワードは、本願において「スリープワード」と称されることがある。特定の例では、コンピューティングデバイスは、起動されたときに、エネルギーを消費して、コンピューティングデバイスに対し、発話認識サーバなどの第２のコンピューティングデバイス、または他のコンピューティングデバイスに対する接続性を提供する、選択的に起動されたネットワークインターフェイスモジュールを含んでもよい。電力管理サブシステムは、音声入力がウェイクワードを含むと決定するために、音声入力を処理してもよいし、音声入力がウェイクワードを含むという決定に応答して、ネットワークインターフェイスモジュールを起動してもよい。ネットワークインターフェイスモジュールが起動されるとき、電力管理サブシステムは、処理するために発話認識サーバに音声入力を送信させてもよい。
【０００７】
電力管理サブシステム自身が、１つ以上の選択的に起動されたモジュールを含んでもよい。いくつかの実施形態において、選択的に起動されたモジュールのうちの１つ以上は、低出力の、比較的、劣った機能性を有する停止状態から、高出力の、比較的、優れた機能性を有する起動状態に、またその逆に切り替えられることもある、（集積回路、デジタル信号プロセッサまたは他のタイプのプロセッサなどの）専用ハードウェアとして実装される。他の実施形態において、１つ以上のモジュールは、１つ以上の汎用プロセッサによって行われるコンピュータ実行可能コードを含むソフトウェアとして実装される。ソフトウェアモジュールは、ソフトウェアに含まれるコンピュータ実行可能コードを実行するように、または実行可能なように構成された汎用プロセッサを起動する（または停止する）ことによって、起動されてもよい（または停止されてもよい）。さらなる実施形態において、電力管理システムは、１つ以上のハードウェアモジュールおよび１つ以上のソフトウェアモジュールの両方を含む。
【０００８】
電力管理サブシステムはさらに、１つ以上の選択的に起動されるモジュールと通信する制御モジュールを含んでもよい。このような制御モジュールは、本願においては、「電力管理モジュール」と称されることがあり、上述のハードウェアまたはソフトウェアのうちのいずれかを含んでもよい。電力管理モジュールは、電力管理サブシステムのモジュールを起動または停止させてもよい。いくつかの実施形態において、電力管理モジュールは、コンピューティングデバイスに含まれる音声入力モジュールによって取得された特徴的な音声入力に少なくとも部分的に基づいて、１つ以上のモジュールを起動する、または停止する。例えば、電力管理サブシステムのモジュールは、１つ以上の値を決定することがあり、その値は、例えば、音声入力のエネルギーレベルまたは量、発話が音声入力に存在する可能性に対応するスコア、キーワードが発話に存在する可能性に対応するスコア、および他の値を含んでもよい。モジュールは、１つ以上の値を電力管理モジュールに伝達してもよく、電力管理モジュールは、それを起動させる別のモジュールと通信するか、あるいは、そこから１つ以上の値が受信されて、そのモジュールおよび／または他のモジュールを停止させるモジュールと通信するかのどちらかであってもよい。しかしながら、他の実施形態において、第１の選択的に起動されるモジュールは、第２の選択的に起動されるモジュールと直接通信して、それを起動してもよい。このような実施形態において、電力管理モジュールが存在する必要はない。さらなる実施形態において、電力管理サブシステムは、１つ以上のモジュールを提供されてもよく、ここで、１つ以上のモジュールのうちの少なくともいくつかは互いに通信し合うが、電力管理モジュールとは通信しない。
【０００９】
例示的な実装例では、電力管理サブシステムは、音声検出モジュールを含んでもよく、この音声検出モジュールは、コンピューティングデバイスによって取得される音声入力のエネルギーレベルまたは量を決定するように構成されてもよい。音声検出モジュールが持続的に音声入力について監視する一方、電力管理サブシステムの残りの構成要素は、（電力管理モジュール、あるいは異なるモジュールのどちらかによって）起動されるまで、低出力、非アクティブ状態のままでもよい。音声検出モジュールが、音声入力が閾値エネルギーレベルまたは量を満たすと決定した場合、発話検出モジュールは、音声入力が発話を含むかどうかを判定するために、起動されてもよい。発話検出モジュールが、音声入力が発話を含むと決定した場合、電力管理サブシステムに含まれる発話処理モジュールが起動されてもよい。発話処理モジュールは、発話がウェイクワードを含むかどうかを判定してもよいし、特定のユーザがウェイクワードを話すかどうかを判定するために、発話を随意的に分類してもよい。発話処理モジュールが、発話がウェイクワードを含むと決定した場合、アプリケーション処理モジュールが起動されてもよく、そのアプリケーション処理モジュールは、コンピューティングデバイスのメモリに記憶される発話認識アプリケーションモジュールを実装してもよい。発話認識アプリケーションは、２０１１年１月１０日に出願され、２０１２年１月１９日に公開された米国公開第２０１２／００１６６７８号の「Ｉｎｔｅｌｌｉｇｅｎｔ Ａｕｔｏｍａｔｅｄ Ａｓｓｉｓｔａｎｔ」に記載されるような、例えば、知的エージェントフロントエンドを含んでもよい。この特許出願の開示は、本願においては、その全体において参照することにより組み込まれる。選択的に起動されるネットワークインターフェイスモジュールはまた、上述のように起動されてもよく、音声入力は、処理するために遠隔コンピューティングデバイスに送信されてもよい。この例示的な実装例は、図３について以下にかなり詳細に検討される。あるいは、電力管理サブシステムは、ウェイクワードの検出に応答して、コンピューティングデバイスの任意のオンデバイス発話認識機能を実装する処理ユニットを起動してもよい。
【００１０】
コンピューティングデバイスのモジュールを選択的に起動することにより、電力管理サブシステムは、コンピューティングデバイスのエネルギー効率を有利に改善する場合がある。電力管理サブシステムはさらに、それ自身のモジュールを１つ以上、選択的に起動することにより、コンピューティングデバイスのエネルギー効率をさらに改善してもよい。このような実装例がバッテリ電源に依存するコンピューティングデバイスに関して特に有利である一方、そのために電力管理が望ましくあってもよいすべてのコンピューティングデバイスは、本開示の原則から利益を得ることが可能である。
【００１１】
図１に戻って、コンピューティングデバイスに含まれる場合がある、実例的な電力管理サブシステム１００が示される。電力管理サブシステム１００は、アナログ／デジタルコンバータ１０２、メモリバッファモジュール１０４、音声検出モジュール１０６、発話検出モジュール１０８、発話処理モジュール１１０、アプリケーション処理モジュール１１２、および電力管理モジュール１２０を含んでもよい。メモリバッファモジュール１０４は、音声検出モジュール１０６、発話検出モジュール１０８、発話処理モジュール１１０、アプリケーション処理モジュール１１２、およびネットワークインターフェイスモジュール２０６と通信してもよい。電力管理モジュール１２０は、同様に、音声検出モジュール１０６、発話検出モジュール１０８、発話処理モジュール１１０、アプリケーション処理モジュール１１２、およびネットワークインターフェイスモジュール２０６と通信してもよい。
【００１２】
アナログ／デジタルコンバータ１０２は、音声入力を音声入力モジュール２０８から受信してもよい。音声入力モジュール２０８は、図２についてさらに以下に詳細に検討される。アナログ／デジタルコンバータ１０２は、電力管理サブシステム１００の他の構成要素によって処理するために、アナログ音声入力をデジタル音声入力に変換するように構成されてもよい。音声入力モジュール２０８がデジタル音声入力を取得する実施形態において（例えば、音声入力モジュール２０８は、デジタルマイクロフォンまたは他のデジタル音声入力デバイスを含む）、アナログ／デジタルコンバータ１０２は、随意的に、電力管理サブシステム１００から除外されてもよい。このように、音声入力モジュール２０８は、音声入力を電力管理サブシステム１００の他のモジュールに直接、提供してもよい。
【００１３】
メモリバッファモジュール１０４は、デジタル音声入力を記憶するように構成された１つ以上のメモリバッファを含んでもよい。音声入力モジュール２０８によって取得された（また、アナログの場合は、アナログ／デジタルコンバータ１０２によってデジタル形式に変換された）音声入力は、メモリバッファモジュール１０４に記録されてもよい。メモリバッファモジュール１０４に記録された音声入力は、本願においてさらに検討されるように、これらのモジュールによる処理のために、電力管理サブシステム１００の他のモジュールによってアクセスされてもよい。
【００１４】
メモリバッファモジュール１０４の１つ以上のメモリバッファは、ハードウェアメモリバッファ、ソフトウェアメモリバッファ、または両方を含んでもよい。１つ以上のメモリバッファは、同一の容量、または異なる容量を有してもよい。メモリバッファモジュール１０４のメモリバッファは、他のどのモジュールが起動されるかに依存して、音声入力を記憶するように選択されてもよい。例えば、音声検出モジュール１０６がアクティブでさえあれば、音声入力は、比較的小さい容量のハードウェアメモリバッファに記憶されてもよい。しかしながら、発話検出モジュール１０８、発話処理モジュール１１０、アプリケーション処理モジュール１１２、および／またはネットワークインターフェイスモジュール２０６などの他のモジュールが起動される場合、音声入力は、比較的大きい容量のソフトウェアメモリバッファに記憶されてもよい。いくつかの実施形態において、メモリバッファモジュール１０４は、音声入力が、それが音声入力モジュール２０８によって取得される順序で、記録され上書きされてもよいリングバッファを含む。
【００１５】
音声検出モジュール１０６は、音声入力のエネルギーレベルを決定するために音声入力を処理する場合がある。いくつかの実施形態において、音声検出モジュール１０６は、取得された音声入力のエネルギーレベル（量、強度、振幅など）を決定するように構成され、かつ、音声入力のエネルギーレベルをエネルギーレベル閾値と比較するための低出力デジタル信号プロセッサ（または他のタイプのプロセッサ）を含む。エネルギーレベル閾値は、ユーザ入力に従って設定されてもよいし、あるいは、図３についてさらに以下に検討されるように、電力管理サブシステム１００によって自動的に設定されてもよい。いくつかの実施形態において、音声検出モジュール１０６は、音声入力が少なくとも１つの閾値期間のための閾値を満たすエネルギーレベルを有すると決定するようにさらに構成される。このような実施形態において、比較的、発話を含みそうにない突然の雑音に対応することもある比較的短い期間の高エネルギー音声入力は無視されてもよく、電力管理サブシステム１００の他の構成要素によって処理されていなくてもよい。
【００１６】
音声検出モジュール１０６が、取得された音声入力がエネルギーレベル閾値を満たすエネルギーレベルを有すると決定した場合、それは電力管理モジュール１２０と通信して、電力管理モジュール１２０が発話検出モジュール１０８を起動するように指示してもよい。あるいは、音声検出モジュール１０６は、エネルギーレベルを電力管理モジュール１２０に伝えてもよいし、電力管理モジュール１２０は、エネルギーレベルをエネルギーレベル閾値（また、随意的に閾値期間）と比較して、発話検出モジュール１０８を起動するかどうかを判定してもよい。別の代替手段において、音声検出モジュール１０６は、発話検出モジュール１０８と直接、通信してそれを起動してもよい。随意的に、電力管理モジュール１２０（または音声検出モジュール１０６）は、音声入力が閾値を満たすエネルギーレベルを有すると決定する音声検出モジュール１０６に応答して、音声入力モジュール２０８がそのサンプリングレート（フレームレートで計測されていてもビットレートで計測されていても）を増加させるように指示してもよい。
【００１７】
発話検出モジュール１０８は、音声入力を処理して、音声入力が発話を含むかどうか判定してもよい。いくつかの実施形態において、発話検出モジュール１０８は、音声入力が発話を含むかどうかを判定する１つ以上の技術を実装するように構成された低出力デジタル信号プロセッサ（または他のタイプのプロセッサ）を含む。いくつかの実施形態において、発話検出モジュール１０８は、音声区間検出（ＶＡＤ）技術を適用する。このような技術は、音声入力の１つ以上のフレーム間のスペクトル傾斜、１つ以上のスペクトル帯における音声入力のエネルギーレベル、１つ以上のスペクトル帯における音声入力の信号対雑音比などの音声入力の種々の定量的な態様、または他の定量的な態様に基づいて、発話が音声入力に存在するかどうかを判定してもよい。他の実施形態において、発話検出モジュール１０８は、背景雑音から発話を区別するように構成された限定的な分類子を実装する。分類子は、線分類子、サポートベクターマシン、および決定木などの技術によって実装されてもよい。さらに他の実施形態において、発話検出モジュール１０８は、隠れモルコフモデル（ＨＭＭ）またはガウス混合モデル（ＧＭＭ）技術を適用して、音声入力を１つ以上の音響モデルと比較し、その音響モデルは、発話、（環境雑音または背景雑音などの）雑音、または無音に対応するモデルを含んでもよい。さらに他の技術は、発話が音声入力に存在するかどうかを判定するために使用されてもよい。
【００１８】
上述の技術のうちのいずれかを使用して、発話検出モジュール１０８は、値が、発話が実際に音声入力内に存在する可能性（本願で使用されるように、「可能性」は、一般的な使用、何かが起こり得るかどうか、または統計における使用について言及することもある）に対応するスコアまたは信頼水準を決定してもよい。スコアが閾値を満たす場合、発話検出モジュール１０８は、発話が音声入力内に存在すると決定してもよい。しかしながら、スコアが閾値を満たさない場合は、発話検出モジュール１０８は、発話が音声入力内に存在しないと決定してもよい。
【００１９】
発話検出モジュール１０８は、発話が音声入力内に存在するかどうかについてのその決定を電力管理モジュール１２０に伝達してもよい。発話が音声入力内に存在する場合、電力管理モジュール１２０は、発話処理モジュール１１０を起動してもよい（あるいは、発話検出モジュール１０８は、発話処理モジュール１１０と直接、通信してもよい）。発話が音声入力内に存在しない場合、電力管理モジュール１２０は、発話検出モジュール１０８を停止してもよい。あるいは、発話検出モジュール１０８は、スコアを電力管理モジュール１２０に伝達してもよく、そのとき、電力管理モジュール１２０は、発話処理モジュール１１０を起動するか、または発話検出モジュール１０８を停止するかを決定してもよい。
【００２０】
発話処理モジュール１１０は、キーワードが発話に含まれるかどうかを判定するために、音声入力を処理してもよい。いくつかの実施形態において、発話処理モジュール１１０は、ウェイクワードまたはスリープワードなどの発話内のキーワードを検出するように構成されたマイクロプロセッサを含む。発話処理モジュール１１０は、ＨＭＭ技術、ＧＭＭ技術、または他の発話認識技術を使用して、キーワードを検出するように構成されてもよい。
【００２１】
発話処理モジュール１１０は、たまたまキーワードを含む発話を、キーワードが１つ以上の他の音素または語の前または後ですぐに話されたかどうかを判定することによって、キーワードの熟考された発話から分離することが可能であってもよい。例えば、キーワードが「ｔｅｎ」である場合、発話処理モジュール１１０は、ユーザが単独で「ｔｅｎ」と言ったことを、たまたま、語「Ｔｅｎｎｅｓｓｅｅ」、語「ｆｏｒｇｏｔｔｅｎ」、語「ｓｔｅｎｔ」、または熟語「ｔｅｎ  ｂｕｃｋｓ」の一部としてユーザが「ｔｅｎ」と言ったことから区別することが可能であってもよい。
【００２２】
発話処理モジュール１１０は、発話が、電力管理サブシステム１００が含まれるコンピューティングデバイスの特定のユーザに関連付けられているかどうか、または、発話が、いくつかの分類のうちでも特に、背景雑音、テレビからの音声、音楽、またはユーザ以外の人の発話に対応するかどうかを判定するようにさらに構成されてもよい。この機能性は、音声入力を分類するための技術のうちでも特に、線分類子、サポートベクターマシン、および決定木などの技術に実装されてもよい。
【００２３】
上述の技術のいずれかを使用して、発話処理モジュール１１０は、値が、キーワードが実際に発話内に存在する可能性に対応するスコアまたは信頼水準を決定してもよい。スコアが閾値を満たす場合、発話処理モジュール１１０は、キーワードが発話内に存在すると決定してもよい。しかしながら、スコアが閾値を満たさない場合は、発話処理モジュール１１０は、キーワードが発話内に存在しないと決定してもよい。
【００２４】
発話処理モジュール１１０は、キーワードが発話内に存在するかどうかについてのその決定を電力管理モジュール１２０に伝達してもよい。キーワードが発話内に存在し、キーワードがウェイクワードである場合、電力管理モジュール１２０は、アプリケーション処理モジュール１１２およびネットワークインターフェイスモジュール２０６を起動してもよい（あるいは、発話処理モジュール１１０は、これらの他のモジュールと直接、通信してもよい）。キーワードが音声入力内に存在しない場合（またはキーワードがスリープワードである場合）、電力管理モジュール１２０は、発話処理モジュール１１０および発話検出モジュール１０８を停止してもよい。あるいは、発話処理モジュール１１０は、スコアを電力管理モジュール１２０に伝達してもよく、そのとき、電力管理モジュール１２０は、アプリケーション処理モジュール１１２およびネットワークインターフェイスモジュール２０６を起動するか、または発話処理モジュール１１０および発話検出モジュール１０８を停止するかを決定してもよい。いくつかの実施形態において、発話処理モジュール１１０が、特定のユーザがキーワードを含む発話を発話すると決定した場合にのみ、これらの起動および／または停止が発生する。
【００２５】
アプリケーション処理モジュール１１２は、電力管理サブシステムが含まれるコンピューティングデバイスが提供された発話認識アプリケーションを実装するように構成されたマイクロプロセッサを含んでもよい。発話認識アプリケーションは、発話認識が所望であってもよい、口述アプリケーション、メッセージングアプリケーション、知的エージェントフロントエンドアプリケーション、またはいずれかの他のアプリケーションなどのいずれかのアプリケーションを含んでもよい。発話認識アプリケーションはまた、ネットワークを通じて、発話認識サーバなどの遠隔コンピューティングデバイスに送信するために、（例えば、発話を圧縮することによって）発話を初期化するように構成されてもよい。
【００２６】
いくつかの実施形態において、アプリケーション処理モジュール１１２は、発話認識アプリケーションを実装するための専用マイクロプロセッサを含む。他の実施形態において、アプリケーション処理モジュール１１２は、電力管理サブシステム１００が含まれるコンピューティングデバイスが提供される他のソフトウェアを実装する場合もある、さらに以下に検討される、図２に示される処理ユニット２０２などの汎用マイクロプロセッサを含む。
【００２７】
ネットワークインターフェイスモジュール２０６は、起動時に、１つ以上の有線または無線ネットワークを通じて接続性を提供してもよい。起動時、ネットワークインターフェイスモジュール２０６は、メモリバッファモジュール１０４に記録された受信された音声入力を、ネットワークを通じて、発話認識サーバなどの遠隔コンピューティングデバイスに送信してもよい。遠隔コンピューティングデバイスは、認識結果（例えば、音訳または知的エージェントクエリーに対する応答）をネットワークインターフェイスモジュール２０６が含まれるコンピューティングデバイスに戻してもよく、その一方、ネットワークインターフェイスモジュール２０６は、受信された認識結果を、処理するためにアプリケーション処理モジュール１１２に提供してもよい。ネットワークインターフェイスモジュール２０６は、図２についてさらに以下に検討される。
【００２８】
電力管理サブシステム１００のモジュールは、本開示の範囲から逸脱することなく、組み合わされてもよい、または再構成されてもよい。上述のいずれかのモジュールの機能性は、複数のモジュールの中に割り当てられてもよい、または異なるモジュールと組み合わされてもよい。上述のように、モジュールのうちのいずれか、またはそのすべてが、１つ以上の集積回路、１つ以上の汎用マイクロプロセッサ、または１つ以上の特別な目的のデジタル信号プロセッサまたは他の専用マイクロプロセシングハードウェアに具現化されてもよい。１つ以上のモジュールはまた、図２についてさらに以下に検討されるように、コンピューティングデバイスに含まれる処理ユニット２０２によって実装されるソフトウェアに具現化されてもよい。さらに、１つ以上のモジュールは、電力管理サブシステム１００から全体的に除外されてもよい。
【００２９】
図２に戻って、電力管理サブシステム１００が含まれてもよいユーザコンピューティングデバイス２００が図示される。ユーザコンピューティングデバイス２００は、処理ユニット２０２、非一時的コンピュータ可読媒体ドライブ２０４、ネットワークインターフェイスモジュール２０６、図１に示されるような電力管理サブシステム１００、および音声入力モジュール２０８を含み、それらのすべては、コミュニケーションバスを経由して、相互に通信してもよい。ユーザコンピューティングデバイス２００はまた、処理ユニット２０２などのユーザコンピューティングデバイス２００の種々の構成要素に電力を供給することが可能な電源２１８、非一時的コンピュータ可読媒体ドライブ２０４、ネットワークインターフェイスモジュール２０６、図１に示されるような電力管理サブシステム１００、および音声入力モジュール２０８も含む場合がある。
【００３０】
処理ユニット２０２は、ユーザインターフェイスモジュール２１２、オペレーティングシステム２１４、および発話認識アプリケーションモジュール２１６などの、そこに記憶された種々のソフトウェアモジュールを実装するために、メモリ２１０に伝達し、かつメモリ２１０から伝達されるように構成された１つ以上の汎用マイクロプロセッサを含んでもよい。処理ユニット２０２はまた、電力管理サブシステム１００と通信してもよく、また、ソフトウェアに具現化される電力管理サブシステム１００のいずれかのモジュールをさらに実装してもよい。したがって、処理ユニット２０２は、音声検出モジュール１０６、発話検出モジュール１０８、発話処理モジュール１１０、アプリケーション処理モジュール１１２、および電力管理モジュール１２０のうちのいずれか、またはすべてを実装するように構成されてもよい。さらに、処理ユニット２０２は、ユーザコンピューティングデバイス２００を提供されてもよいオンデバイス自動発話認識機能を実装するように構成されてもよい。
【００３１】
メモリ２１０は概して、ＲＡＭ、ＲＯＭ、および／または他の持続的または非一時的コンピュータ可読記憶媒体を含む。ユーザインターフェイスモジュール２１２は、ユーザコンピューティングデバイス２００（図示せず）のディスプレイを介して、ユーザインターフェイスを提示するように構成されてもよい。ユーザインターフェイスモジュール２１２は、マウス、キーボード、タッチパネル、キーパッドなどのユーザ入力デバイス（図示せず）を介して受信されたユーザ入力を処理するようにさらに構成されてもよい。ユーザインターフェイスモジュール２１２によって提示されたユーザインターフェイスは、ユーザに、ユーザコンピューティングデバイス２００によって実装される電力管理サブシステム１００の動作および／または他の動作をカスタマイズする機会を提供してもよい。ユーザインターフェイスの例は、図５についてさらに以下に検討される。メモリ２１０は、ユーザコンピューティングデバイス２００の一般管理および動作において処理ユニット２０２が使用するためのコンピュータプログラム命令を提供するオペレーティングシステム２１４を付加的に記憶してもよい。メモリ２１０は、発話認識アプリケーションモジュール２１６の１つ以上の実施形態を実装するために、アプリケーション処理モジュール１１２および／または処理ユニット２０２が実行するコンピュータプログラム命令をさらに含み得る。上述のように、発話認識アプリケーションモジュール２１６は、書き取りアプリケーション、メッセージングアプリケーション、知的エージェントアプリケーションフロントエンド、または、有利に発話認識結果を使用できるいずれかの他のアプリケーションなどの発話認識結果を使用してもよい任意のアプリケーションであってもよい。いくつかの実施形態において、メモリ２１０は、処理ユニット２０２によって実装されてもよい自動発話認識エンジン（図示せず）をさらに含んでもよい。
【００３２】
非一時的コンピュータ可読媒体ドライブ２０４は、当分野で既知の任意の電子データストーレッジを含んでもよい。いくつかの実施形態において、非一時的コンピュータ可読媒体ドライブ２０４は、１つ以上のキーワードモデル（例えば、ウェイクワードモデルまたはスリープワードモデル）を記憶し、音声入力は、電力管理サブシステム１００によってそれらのモデルと比較されてもよい。非一時的コンピュータ可読媒体ドライブ２０４はまた、ユーザコンピューティングデバイス２００の任意のオンデバイス発話認識機能を実装するための１つ以上の音響モデルおよび／または言語モデルを記憶してもよい。言語モデルおよび音響モデルに関するさらなる情報は、２０１２年８月１６日に出願された、米国特許出願第１３／５８７，７９９号、発明の名称「ＤＩＳＣＲＩＭＩＮＡＴＩＶＥ  ＬＡＮＧＵＡＧＥ  ＭＯＤＥＬ  ＰＲＵＮＩＮＧ」および２０１２年８月２２日に出願された、米国特許出願第１３／５９２，１５７号、発明の名称「ＵＮＳＵＰＥＲＶＩＳＥＤ  ＡＣＯＵＳＴＩＣ  ＭＯＤＥＬ  ＴＲＡＩＮＩＮＧ」に見出すことができる。これらの出願の両方の開示は、本願に、それらの全体において参照によって組み込まれる。
【００３３】
ネットワークインターフェイスモジュール２０６は、ユーザコンピューティングデバイス２００に、図４Ａ、図４Ｂ、および図４Ｃについてさらに以下に検討される、ネットワーク４１０などの１つ以上のネットワークに対する接続性を提供してもよい。このように、処理ユニット２０２および電力管理サブシステム１００は、やはりさらに以下に検討されるように、命令および情報を、発話認識サーバ４２０などのネットワーク４１０を介して通信してもよい遠隔コンピューティングデバイスから受信してもよい。いくつかの実施形態において、ネットワークインターフェイスモジュール２０６は、ユーザコンピューティングデバイス２００に、１つ以上の無線ネットワークを通じて接続性を提供する無線ネットワークインターフェイスを含む。
【００３４】
いくつかの実施形態において、ネットワークインターフェイスモジュール２０６が、選択的に起動される。ネットワークインターフェイスモジュール２０６が停止または「スリーピング」状態にある一方、電力を節約するために、制限された接続性または非接続性をネットワークまたはコンピュータシステムに提供してもよい。いくつかの実施形態において、ネットワークインターフェイスモジュール２０６は、初期設定で、停止状態にあり、電力管理サブシステム１００からの信号に応答して起動するようになる。ネットワークインターフェイスモジュール２０６が起動状態にある一方、それは比較的大量の接続性をネットワークまたはコンピュータシステムに提供してもよく、その結果、ネットワークインターフェイスモジュール２０６は、ユーザコンピューティングデバイス２００が、音声入力を遠隔コンピューティングデバイスに送ることを可能にする、および／またはキーワード確認、発話認識結果、または停止命令を、発話認識サーバ４２０などの遠隔コンピューティングデバイスから受信することを可能にする。
【００３５】
特に非限定的な例では、ネットワークインターフェイスモジュール２０６は、音声入力がウェイクワードを含むと決定する電力管理サブシステム１００に応答して起動されてもよい。電力管理サブシステム１００は、音声入力を、起動されるネットワークインターフェイスモジュール２０６を介して、（発話認識サーバ４２０などの）遠隔コンピューティングデバイスに送信させてもよい。随意的に、電力管理サブシステム１００は、続いて受信される音声入力を遠隔コンピューティングデバイスに送信させる前に、遠隔コンピューティングデバイスから、ウェイクワードの確認を取得してもよい。電力管理サブシステム１００は、遠隔コンピューティングデバイスから停止命令を受信することに応答して、エネルギーレベル閾値を満たす音声入力が取得されてから少なくとも所定の期間が過ぎたと決定することに応答して、またはスリープワードを含む音声入力を受信することに応答して、起動されたネットワークインターフェイスモジュール２０６を後で停止してもよい。
【００３６】
音声入力モジュール２０８は、アナログでもデジタルでも、マイクロフォンまたは一連のマイクロフォンなどの音声入力デバイスを含んでもよい。マイクロフォンまたは一連のマイクロフォンは、指向性マイクロフォンまたは指向性の一連のマイクロフォンとして実装されてもよい。いくつかの実施形態において、音声入力モジュール２０８は音声を受信し、実質的に図１について上述するように、その音声を、処理するために、電力管理サブシステム１００に提供する。音声入力モジュール２０８はまた、音声を取得するためのサンプリングレート（フレームレート内でもビットレート内でも）を設定するために、電力管理サブシステム１００から命令を受信してもよい。音声入力モジュール２０８は、音響エネルギーを電力管理サブシステム１００によって処理するための電気信号に変換し得る１つ以上の圧電素子および／または微小電気機械システム（ＭＥＭＳ）も（またはその代わりに）含むことができる。音声入力モジュール２０８はさらに、増幅器、整流器、および所望の他の音声処理構成要素を提供されてもよい。
【００３７】
１つ以上の光検出器などの付加的な入力デバイス、位置検出器、画像取込装置などには、ユーザコンピューティングデバイス２００が提供されてもよい。このような付加的な入力デバイスは、本開示の原則を曖昧にしないために図２に示されてはいない。いくつかの実施形態において、付加的な入力デバイスは、状態の発生または非発生を検出してもよい。このような状態に関する情報は、ユーザコンピューティングデバイス２００の１つ以上の構成要素または電力管理サブシステム１００が起動されるべきか停止されるべきかを判定するために、電力管理サブシステム１００に提供されてもよい。１つの実施形態において、付加的な入力デバイスは、光レベルを検出するように構成された光検出器を含む。電力管理モジュール１２０は、光検出器によって検出される光レベルが閾値を満たさない場合にのみ起動されるかもしれないネットワークインターフェイスモジュール２０６の役割を果たすのみでもよい。別の実施形態において、付加的な入力デバイスは、顔認識機能を用いて設定されている画像取込装置を含む。この実施形態において、画像取込装置がユーザコンピューティングデバイス２００と関連付けられているユーザの顔を認識した場合のみ、ネットワークインターフェイスモジュール２０６は起動されてもよい。入力デバイスを用いて発話認識機能を制御することについてのさらなる情報は、２００３年７月３１日に米国特許公開第２００３／０１４４８４４号として公開された、２００２年１月３０日に出願された米国特許出願第１０／０５８，７３０号、発明の名称「ＡＵＴＯＭＡＴＩＣ  ＳＰＥＥＣＨ  ＲＥＣＯＧＮＩＴＩＯＮ  ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ」において見出すことができ、その開示はその全体において参照によって本願に組み込まれる。発話認識機能を制御することについてのさらなる情報は、２０１２年１２月４日に発行された、米国特許第８，３２６，６３６号、発明の名称「ＵＳＩＮＧ  Ａ  ＰＨＹＳＩＣＡｌ  ＰＨＥＮＯＭＥＮＯＮ  ＤＥＴＥＣＴＯＲ  ＴＯ  ＣＯＮＴＲＯＬ  ＯＰＥＲＡＴＩＯＮ  ＯＦ  Ａ  ＳＰＥＥＣＨ  ＲＥＣＯＧＮＩＴＩＯＮ  ＥＮＧＩＮＥ」において見出すことができる。この特許の開示もまた、その全体において参照によって本願に組み込まれる。
【００３８】
マウス、キーボード、タッチスクリーン、キーパッドなどのユーザ入力デバイスを含んでもよいさらなる入力デバイスが提供されてもよい。同様に、ディスプレイ、スピーカー、ヘッドフォンなどの出力デバイスが提供されてもよい。特定の例では、（例えば、テキストから音声への変換を介する）音声形式または（例えば、ディスプレイを介する）視覚形式における発話認識結果を提示するように構成された１つ以上の出力デバイスは、ユーザコンピューティングデバイス２００に含まれてもよい。このような入力および出力デバイスは当分野で周知であり、本願においてさらに詳細に検討される必要はなく、本開示の原則を曖昧にしないために図２に示されてはいない。
【００３９】
電源２１８は、ユーザコンピューティングデバイス２００の種々の構成要素に電力を供給してもよい。電源２１８は、使い捨てまたは再充電可能バッテリまたはバッテリパックなどの無線または携帯電源を含んでもよい、または電気のコンセントに差し込まれるように構成された交流（ＡＣ）電源などの有線電源を含んでもよい。いくつかの実施形態において、電源２１８は、それが供給可能な電力レベル（例えば、電源２１８が電気のコンセントなどに差し込まれるかどうかにかかわらず、残留するバッテリ寿命のパーセント）を、電力管理サブシステム１００に伝達する。いくつかの実施形態において、電力管理サブシステム１００は、電源によって示された電力レベルに少なくとも部分的に基づいて、１つ以上のモジュールを選択的に起動する、または停止する。例えば、ユーザコンピューティングデバイス２００が電気のコンセントに差し込まれる場合、電力管理サブシステム１００は、ネットワークインターフェイスモジュール２０６を起動して、それを起動状態に維持してもよい。ユーザコンピューティングデバイス２００がバッテリ電源で動く場合、電力管理サブシステム１００は、上記のように、選択的に、ネットワークインターフェイスモジュール２０６を起動および停止してもよい。
【００４０】
図３に戻って、実例的なルーティン３００が示され、ルーティン３００において、音声入力を処理するために電力管理サブシステム１００のモジュールが、選択的に起動されてもよい。実例的なルーティン３００において後に起動されるモジュールが、比較的大きい処理要求および／または電力消費を有し得るため、実例的なルーティン３００は、処理および／または電力消費の増大を表す。
【００４１】
音声入力モジュール２０８が音声入力について監視するため、実例的なルーティン３００は、ブロック３０２で開始してもよい。音声入力モジュール２０８は、ブロック３０４で音声入力を受信してもよい。ブロック３０６で、受信された音声入力は、メモリバッファモジュール１０４に記録されてもよい。ブロック３０８で、音声検出モジュール１０６は、音声入力がエネルギーレベル閾値を満たすエネルギーレベルを有するかどうか（また、随意的に、音声入力が、少なくとも閾値期間、エネルギーレベル閾値を満たすエネルギーレベルを有するかどうか）を判定してもよい。音声入力のエネルギーレベルがエネルギーレベル閾値を満たさない場合、他の音声入力が受信されるまで、音声入力モジュール２０８は、ブロック３１０において、音声入力について監視し続けてもよい。
【００４２】
ブロック３０８に戻って、音声検出モジュール１０６が、音声入力が閾値を満たすエネルギーレベルを有すると決定した場合、電力管理モジュール１２０は、ブロック３１２で発話検出モジュール１０８を起動してもよい（あるいは、音声検出モジュール１０６が直接、発話検出モジュール１０８を起動してもよく、また、電力管理モジュール１２０は以下のブロックにおいても同様に除外されてもよい）。ブロック３１４で、実質的に図１について上述するように、発話検出モジュール１０８は、発話が、取得された音声入力内に存在しているかどうかを判定してもよい。発話検出モジュール１０８が、発話が音声入力内に存在しない（または存在している可能性が低い）と決定した場合、電力管理モジュール１２０は、ブロック３１６で発話検出モジュール１０８を停止してもよい。音声入力モジュール２０８はその後、別の音声入力が受信されるまで、ブロック３１０において、音声入力について監視してもよい。
【００４３】
ブロック３１４に戻って、発話検出モジュール１０８が、音声入力が発話を含むと決定した場合、電力管理モジュール１２０は、ブロック３１８で、発話処理モジュール１１０を起動してもよい。上述のように、発話処理モジュール１１０は、ブロック３２０で、ウェイクワードが発話内に存在するかどうかを判定してもよい。発話処理モジュール１１０が、ウェイクワードが発話中に存在しない（または、発話中に存在する可能性が低い）と決定した場合、発話処理モジュール１１０は、ブロック３２２で停止されてもよい。発話検出モジュール１０８はまた、ブロック３１６で停止されてもよい。音声入力デバイス２０８はその後、別の音声入力が受信されるまで、ブロック３１０において、音声入力について監視し続けてもよい。
【００４４】
ブロック３２０に戻って、いくつかの実施形態において、発話処理モジュール１１０が、ウェイクワードが発話内に存在すると決定した場合、実質的に図１について上述するように、発話処理モジュール１１０のユーザ４０１が、ブロック３２４において、随意的に、発話が特定のユーザと関連付けられているかどうか（例えば、ウェイクワードがユーザによって話されたかどうか）を決定する。音声が特定のユーザと関連付けられていない場合、発話処理モジュール１１０は、ブロック３２２で停止されてもよい。発話検出モジュール１０８はまた、ブロック３１６で停止されてもよい。音声入力デバイス２０８は、その後、別の音声入力が受信されるまで、ブロック３１０において音声入力について監視し続けてもよい。発話が特定のユーザと関連付けられている場合、実例的なルーティン３００は、ブロック３２６に進んでもよい。他の実施形態において、ブロック３２４は除外されてもよく、実例的なルーティン３００は、ウェイクワードが発話内に存在すると決定する発話処理モジュール１１０に応答して、直接、ブロック３２０からブロック３２６に進んでもよい。
【００４５】
ブロック３２６で、電力管理モジュール１２０は、図２に示される発話認識アプリケーションモジュール２１６を実装することが可能なアプリケーション処理モジュール１１２を起動してもよい。電力管理モジュール１２０はまた、ブロック３２８で、ネットワークインターフェイスモジュール２０６を起動してもよい。起動されたネットワークインターフェイスモジュール２０６を用いて、メモリバッファモジュール１０４に記録された音声入力は、ネットワークインターフェイスモジュール２０６を介して、ネットワークを通じて送信されてもよい。いくつかの実施形態において、ネットワークインターフェイスモジュール２０６がアクティブである一方、続いて取得される音声入力は、遠隔コンピューティングデバイスに送信されるために、音声入力モジュール２０８から直接、アプリケーション処理モジュール１１２および／またはネットワークインターフェイスモジュール２０６に提供される。しかしながら、他の実施形態において、発話検出モジュール１０８、発話処理モジュール１１０、およびアプリケーション処理モジュール１１２のうちのいずれか、またはすべては、ネットワークインターフェイスモジュール２０６に提供する前に音声入力を処理し、その音声入力はネットワーク４１０を通じて遠隔コンピューティングデバイスへ送信される。
【００４６】
図示されないいくつかの実施形態において、電力管理サブシステム１００は、後続の認識用の音声入力を送信するために、遠隔コンピューティングデバイスが、ウェイクワードが第１の音声入力内に存在するという確認を戻すまで待機する。ウェイクワードの確認が、遠隔コンピューティングデバイスによって提供されない場合、または停止命令が、ネットワークインターフェイスモジュール２０６を介して受信される場合、電力管理サブシステム１００のネットワークインターフェイスモジュール２０６および１つ以上のモジュールが停止されてもよい。
【００４７】
電力管理サブシステム１００の動作の多くが、正確というよりむしろ確率的な決定を生成するため、実例的なルーティン３００中に、エラーが起こることがある。場合によっては、電力管理サブシステム１００の特定のモジュールは、１つ以上のモジュールを間違って起動させる「誤検出」を提供することがある。例えば、発話検出モジュール１０８は、ブロック３１４で、間違って発話が存在すると決定することがある、または発話処理モジュール１１０は、ブロック３２０で、発話がウェイクワードを含むと間違って決定することがある、またはブロック３２４で、発話がユーザに属すると決定することがある。電力管理サブシステム１００のモジュールのうち適応閾値化および相互検証は、誤検出を減らすために有利に使用されてもよい。本願では適応閾値化の２つの例が検討されているが、他のタイプの適応閾値化も可能である。上述のように、発話検出モジュールは、ブロック３１４で、発話が音声入力内に存在すると決定してもよい。しかしながら、その優れた処理能力のため、発話検出モジュール１０８よりさらに正確に発話を認識する場合がある発話処理モジュール１１０は、実際には、発話が音声入力内に存在しないと決定してもよい。したがって、発話処理モジュール１１０は、今後の誤検出を減らすように、発話検出モジュール１０８に、発話が音声入力内に存在すると決定するためのそのスコア閾値を増やすように指示してもよい。同様に、（発話認識サーバ４２０などの）遠隔コンピューティングデバイスが発話認識機能を含む場合、たとえ、発話処理モジュール１１０が、ウェイクワードが存在していたと指示していたかもしれないとしても、遠隔コンピューティングデバイスは、ウェイクワードが発話に存在しないという指示をユーザコンピューティングデバイス２００に送信してもよい。したがって、今後の誤検出を減らすように、ウェイクワードが発話内に存在すると決定するための発話処理モジュール１１０のスコア閾値は増えてもよい。さらに、図５についてさらに以下に記載されるように、ユーザが、誤検出を減らすために１つ以上のスコア閾値を増やすかもしれないように、ユーザインターフェイスが提供されてもよい。
【００４８】
場合によっては、たとえ、ユーザがウェイクワードを話したとしても、電力管理サブシステム１００の構成要素が起動されないおよび／またはネットワークインターフェイスモジュール２０６が起動されないように、特定の構成要素は「検出漏れ」を提供することがある。例えば、発話検出モジュール１０８は、ブロック３１４で、発話が存在しないと間違って決定することがある、または発話処理モジュール１１０は、ブロック３２０で、発話がウェイクワードを含まないと間違って決定することがある、または、ブロック３２４で、発話がユーザに属さないと間違って決定することがある。検出漏れの可能性を減らすために、電力管理サブシステム１００は、定期的に閾値スコアを低下させてもよく、例えば、ブロック３１４、３２０、および／または３２４において、閾値を満たすように要求されたスコアを低下させてもよい。上述のように、１つ以上の誤検出が取得されるまで、閾値は低下し続けてもよい。いったん、１つ以上の誤検出が取得されると、閾値はさらに低下しなくてもよい、または少し増加してもよい。さらに、図５についてさらに以下に記載されるように、そのため、ユーザインターフェイスが、ユーザが１つ以上のスコア閾値を減少させて検出漏れを減らせるように、提供されてもよい。
【００４９】
いくつかの実施形態では、ブロック３１４、３２０、または３２４のうちのいずれかで、否定的な結果が取得される場合、起動された構成要素のすべてが停止されるわけではない。例えば、ブロック３２０で、ウェイクワードが認識されていない場合、発話処理モジュール１１０は、ブロック３２２で停止されてもよいが、発話検出モジュール１０８は、起動されたままでもよい。付加的に、いくつかの実装例では、ブロックが飛ばされてもよい。いくつかの実施形態では、ブロック３１４または３２０のどちらかで閾値を満たすスコアは、１つ以上の後続のブロックを飛ばすように促す。例えば、ブロック３２０で、発話処理モジュール１１０が、非常に高い確信を持って、ウェイクワードが発話内に存在すると決定する場合、実例的なルーティン３００は、ブロック３２６に直接飛んでもよい。
【００５０】
さらに、いくつかの実施形態では、ユーザコンピューティングデバイス２００は、処理ユニット２０２によって実行されるように構成された自動発話認識エンジンを含んでもよい。このようなオンデバイス発話認識が著しく高い電力消費を有することもあるため、処理ユニット２０２は、ウェイクワードがユーザによって話されたと決定する発話処理モジュール１１０に応答して発話を認識するために、自動発話認識エンジンのみを実装してもよい。
【００５１】
図４Ａ、図４Ｂ、および図４Ｃについて、分散型発話認識サービスの例示的な動作は、実例的な環境４００に示される。環境４００は、ユーザ４０１、上述のようなユーザコンピューティングデバイス２００、ネットワーク４１０、発話認識サーバ４２０、およびデータストア４３０を含んでもよい。
【００５２】
ネットワーク４１０は、任意の有線ネットワーク、無線ネットワーク、またはそれらの組み合わせであってもよい。さらに、ネットワーク４１０は、パーソナルエリアネットワーク、ローカルエリアネットワーク、広域エリアネットワーク、ケーブルネットワーク、衛星ネットワーク、携帯電話ネットワーク、またはそれらの組み合わせであってもよい。インターネット、または他の前述のタイプの通信ネットワークのうちのいずれかを介する通信用のプロトコルおよびデバイスは、コンピュータ通信の分野の当業者にとって周知であるため、本願では詳細に記載する必要がない。
【００５３】
発話認識サーバ４２０は、概して、ネットワーク４１０を通じて通信可能な任意のコンピューティングデバイスであってもよい。いくつかの実施形態において、他の実装例も可能ではあるが、発話認識サーバ４２０は、１つ以上のサーバコンピューティングデバイスとして実装される。発話認識サーバ４２０は、ネットワーク４１０を通じて、音声入力をユーザコンピューティングデバイス２００から受信することが可能であってもよい。この音声入力は、発話認識サーバ４２０の実装例に依存して、いくつかの方法で処理されてもよい。いくつかの実施形態において、発話認識サーバ４２０は、（例えば、音声入力を、ウェイクワードの既知のモデルと比較することによって）ウェイクワードが存在することを確認するために、ユーザコンピューティングデバイス２００から受信された音声入力を処理し、その確認をユーザコンピューティングデバイス２００に送信する。発話認識サーバ４２０は、既知の話者識別技術を用いて、ウェイクワードを話したユーザ４０１を識別するように、さらに構成されてもよい。
【００５４】
発話認識サーバ４２０は、音声入力から発話認識結果を決定するために、ユーザコンピューティングデバイス２００から受信した音声入力を処理してもよい。例えば、音声入力は、知的エージェントのための、話された処理すべきクエリー、テキストに音訳される発話、または発話認識アプリケーションに適した他の音声を含んでもよい。発話認識サーバ４２０は、ネットワーク４１０を通じて、発話認識結果をユーザコンピューティングデバイス２００に送信してもよい。分散型発話認識アプリケーションに関するさらなる情報は、２０１２年２月１４日に発行された、米国特許第８，１１７，２６８号、発明の名称「Ｈｏｓｔｅｄ  ｖｏｉｃｅ  ｒｅｃｏｇｎｉｔｉｏｎ  ｓｙｓｔｅｍ  ｆｏｒ  ｗｉｒｅｌｅｓｓ  ｄｅｖｉｃｅｓ」に見出すことができ、その開示は、本願に、その全体において参照によって組み込まれる。
【００５５】
発話認識サーバ４２０は、局地的か遠隔的かのどちらかで、データストア４３０と通信してもよい。データストア４３０は、ハードディスクドライブ、固体メモリ、および／または、発話認識サーバ４２０にアクセス可能な、任意の他のタイプの非一時的な、コンピュータ可読記憶媒体において具現化されてもよい。データストア４３０はまた、本開示の精神および範囲から逸脱することなく、当分野で知られているように、複数の記憶デバイスを横切って分配または区分されていてもよい。さらに、いくつかの実施形態では、データストア４３０は、ネットワークに基づく電子記憶サービスとして実装される。
【００５６】
データストア４３０は、ウェイクワードの１つ以上のモデルを含んでもよい。いくつかの実施形態では、ウェイクワードモデルはユーザ４０１に固有である一方、他の実施形態においては、ユーザコンピューティングデバイス２００によって決定された、ウェイクワードを含む音声入力を受信する際、発話認識サーバは、音声入力を、データストア４３０に記憶されたウェイクワードの既知のモデルと比較してもよい。音声入力が既知のモデルと十分に類似している場合、発話認識サーバ４２０は、ウェイクワードの確認をユーザコンピューティングデバイス２００に送信してもよく、その一方、ユーザコンピューティングデバイス２００は、発話認識サーバ４２０によって処理されるべき音声入力をさらに取得してもよい。
【００５７】
データストア４３０はまた、発話認識で使用するための、１つ以上の音響および／または言語モデルも含んでもよい。これらのモデルは、具体的なモデル同様、汎用モデルを含んでもよい。モデルは、ユーザ４０１、ユーザコンピューティングデバイス２００によって実装される発話認識アプリケーションおよび／または発話認識サーバ４２０に固有であってもよい、または他の具体的な目的を有してもよい。言語モデルおよび音響モデルに関するさらなる情報は、２０１２年８月１６日に出願された、米国特許出願第１３／５８７，７９９号、発明の名称「ＤＩＳＣＲＩＭＩＮＡＴＩＶＥ  ＬＡＮＧＵＡＧＥ  ＭＯＤＥＬ  ＰＲＵＮＩＮＧ」および２０１２年８月２２日に出願された、米国特許出願第１３／５９２，１５７号、発明の名称「ＵＮＳＵＰＥＲＶＩＳＥＤ  ＡＣＯＵＳＴＩＣ  ＭＯＤＥＬ  ＴＲＡＩＮＩＮＧ」において見出すことができる。これらの出願の両方の開示は、上記の参照によって前もって組み込まれた。
【００５８】
データストア４３０は、発話認識サーバ４２０によって受信された音声入力内に含まれたクエリーに応答しているデータをさらに含んでもよい。発話認識サーバ４２０は、音声入力に含まれる発話を認識し、発話に含まれるクエリーを識別し、データストア４３０内の応答データを識別するためにクエリーを処理してもよい。発話認識サーバ４２０は、その後、ネットワーク４１０を介して、応答データを含む知的エージェント応答をユーザコンピューティングデバイス２００に提供してもよい。さらなるデータは、データストア４３０に含まれてもよい。
【００５９】
上述のデバイスの多くが任意であってよく、環境４００の実施形態がデバイスを組み合わせてもいいし、または組み合わせなくてもよいことが認識されるであろう。さらに、デバイスは、明確または別々のものである必要はない。デバイスはまた、環境４００において再編成されてもよい。例えば、発話認識サーバ４２０は、１つの物理サーバコンピューティングデバイスとして表現されてもよいし、または、その代わりに、本願に記載された機能性を達成する複数の物理サーバに分かれてもよい。さらに、ユーザコンピューティングデバイス２００は、発話認識サーバ４２０の発話認識機能性のうちのいくつか、またはすべてを有してもよい。
【００６０】
付加的に、いくつかの実施形態では、ユーザコンピューティングデバイス２００および／または発話認識サーバ４２０が、ホストコンピュータ環境に実装されるもう１つの仮想マシンによって実行されてもよいことが留意されるべきである。ホストコンピュータ環境は、１つ以上の急速に準備され、発売されたコンピューティング資源を含んでもよく、そのコンピューティング資源は、コンピューティング、ネットワーキングおよび／または記憶デバイスを含んでもよい。ホストコンピュータ環境はまた、クラウドコンピュータ環境として言及されてもよい。ホストコンピュータ環境のコンピューティングデバイスのうちの１つ以上は、上述のように電力管理サブシステム１００を含んでもよい。
【００６１】
特に図４Ａを参照すると、それによってウェイクワードが確認されてもよい実例的な動作が示される場合がある。ユーザ４０１は、ウェイクワード５０２を話してもよい。実質的に図３について上述するように、ユーザコンピューティングデバイス２００はユーザの発話を含んでもよい音声入力を取得してもよく（１）、ウェイクワード４０２が発話内に存在すると決定してもよい（２）。音声入力は、音声命令またはクエリーを含んでもよい。発話がウェイクワードを含むと決定することに応答して、ユーザコンピューティングデバイス２００のアプリケーション処理モジュール１１２およびネットワークインターフェイスモジュール２０６が起動されてもよく（３）、音声入力が、ネットワーク４１０を通じて発話認識サーバ４２０に送信されてもよい（４）。発話認識サーバ４２０は、ウェイクワードが音声入力内に存在することを確認してもよく（５）確認を、ネットワーク４１０を通じてユーザコンピューティングデバイス２００に送信してもよい（６）。
【００６２】
図４Ｂに戻ると、発話認識サーバ４２０からウェイクワードの確認を受信することに応答して、ユーザコンピューティングデバイス２００は、処理するために発話認識サーバ４２０に提供される音声入力を取得し続けてもよい（７）。例えば、取得された音声入力は、発話認識サーバ４２０によって処理するための知的エージェントクエリー４０４を含んでもよい。あるいは、取得された音声入力は、（例えば、書き取り、ワードプロセッシング、またはアプリケーション処理モジュール１１２によって実行されるメッセージングアプリケーションとともに使用される）発話認識サーバ４２０によって音訳される発話を含んでもよい。ユーザコンピューティングデバイス２００は、音声入力を、ネットワーク４１０を通じて発話認識サーバ４２０に送信してもよい（８）。随意的に、それに関して発話認識結果が生成される発話認識アプリケーションの識別子は、発話認識サーバ４２０に提供されてもよく、その結果、発話認識サーバ４２０は、特に、アプリケーション処理モジュール１１２によって実装される発話認識アプリケーションとともに使用される結果を生成してもよい。発話認識サーバ４２０は、音声入力に含まれる発話を認識してもよく（９）、そこから発話認識結果を生成してもよい（１０）。発話認識結果は、例えば、音声の音訳、音声に含まれるクエリーに対する知的エージェント応答、または他の任意のタイプの結果を含んでもよい。これらの発話認識結果は、発話認識サーバ４２０から、ネットワーク４１０を通じてユーザコンピューティングデバイス２００に送信されてもよい（１１）。結果を受信することに応答して、アプリケーション処理モジュール１１２は、（テキストから音声への変換を介する）音声形式または（例えば、ユーザコンピューティングデバイス２００のディスプレイを介する）視覚形式における結果を提示させてもよい（１２）。
【００６３】
図４Ｃを参照して、ユーザコンピューティングデバイス２００は、処理するために発話認識サーバ４２０に提供される音声入力を取得し続けてもよい（１３）。ユーザコンピューティングデバイス２００は、ネットワーク４１０を通じて音声入力を発話認識サーバ４２０に送信してもよい（１４）。発話認識サーバは、音声入力に含まれる任意の発話を認識してもよい（１５）。発話を認識することに応答して、発話認識サーバ４２０は、ユーザ４０１がもはや、ユーザコンピューティングデバイス２００に話しかけていないことを決定して、任意の後続の発話認識を止めてもよい（１６）。例えば、ユーザ４０１は、無方向の自然な言語発話４０６などの構造化命令またはクエリーに対応しない言葉を話してもよい。発話認識サーバ４２０はまた、発話が認識結果内で処理されるべきではなく、かつ、発話がユーザコンピューティングデバイス２００に向けられていないことを決定するために、発話の速度、注意深さ、屈折、または明瞭性を分析してもよい。
【００６４】
他のタイプの音声入力はまた、後続の発話認識を止めるように発話認識サーバ４２０を促してもよい。あるいは、発話認識サーバ４２０は、受信された音声入力が発話を含まないことを決定してもよい。ユーザコンピューティングデバイス２００に向けられた発話を含まない１つ以上の音声入力を受信することに応答して、発話認識サーバ４２０は、発話認識結果が生成されるべきではなく、発話認識が止まるべきであることを決定してもよい。さらに、音声入力は、ユーザ４０１によって選択されてもよい所定のスリープワードを含んでもよい。発話認識サーバ４２０がスリープワードを検出すると、発話認識サーバ４２０は、音声入力に対して発話認識を行うことを止めてもよい。さらに、発話認識サーバ４２０は、（例えば、ユーザコンピューティングデバイス２００によって取得された複数の音声入力に対して話者識別を行うことによって）複数のユーザ４０１がユーザコンピューティングデバイス２００の付近に存在すると決定してもよい。識別されたユーザ４０１の数（１つより大きいユーザ４０１の任意の数であってもよい）が閾値を満たす場合、発話認識サーバ４２０は、ユーザコンピューティングデバイス２００によって取得された任意の音声入力が発話認識結果へと処理されることを目的としてはいないようであると決定してもよい。
【００６５】
ユーザ４０１の発話がユーザコンピューティングデバイス２００に向けられていないと決定すること（または、後続の発話認識が、上述の他の理由のいずれかに関して行われるべきではないと決定すること）に応答して、発話認識サーバ４２０は、ネットワーク４１０を通じて、停止命令（１７）をユーザコンピューティングデバイス２００に送信してもよい。停止命令を受信することに応答して、ユーザコンピューティングデバイス２００は、そのネットワークインターフェイスモジュール２０６およびアプリケーション処理モジュール１１２、発話処理モジュール１１０、および／または発話検出モジュール１０８などの電力管理サブシステム１００の１つ以上の構成要素を停止してもよい（１８）。他の状態もまた、発話認識サーバ４２０に、停止命令をユーザコンピューティングデバイス２００に送信するように促してもよい。例えば、図４Ａに戻って、発話認識サーバ４２０が、ウェイクワードが状態（１）で受信された音声入力に存在しないと決定すると、発話認識サーバ４２０は、停止命令をユーザコンピューティングデバイス２００に送信してもよい。あるいは、発話認識サーバ４２０は、それが最後に、ユーザコンピューティングデバイス２００からの発話を含む音声入力を受信してから時間の閾値量が経過したと決定してもよく、したがって停止命令をユーザコンピューティングデバイス２００に送信してもよい。さらに他の基準が、停止命令をユーザコンピューティングデバイス２００に送信するために、決定されてもよい。
【００６６】
図４Ａに再び戻って、ウェイクワードを含むように決定される後続の音声入力を受信する際、ユーザコンピューティングデバイス２００は、電力管理サブシステム１００およびネットワークインターフェイスモジュール２０６の構成要素を起動してもよいし、音声入力を発話認識サーバ４２０に送信してもよい。本願に示される例示的な動作は、このように、それら自身を繰り返してもよい。
【００６７】
図４Ａ、図４Ｂ、および図４Ｃに図示された例示的な動作は、実例的な目的のために提供される。１つ以上の状態は、本願に示された例示的な動作から除外されてもよい、または付加的な状態が付加されてもよい。特定の例では、ユーザコンピューティングデバイス２００は、そのために発話認識結果が発話認識サーバ４２０によって生成される音声入力を送信する前に、発話認識サーバ４２０からウェイクワードの確認を取得する必要はない。付加的に、ユーザコンピューティングデバイス２００は、アプリケーション処理モジュール１１２、発話処理モジュール１１０、または発話検出モジュール１０８などの、そのネットワークインターフェイスモジュール２０６および／またはその電力管理サブシステム１００の構成要素の１つ以上を停止する前に、停止命令を取得する必要はない。むしろ、電力管理サブシステム１００は、エネルギーレベル閾値を満たすエネルギーレベルを有する音声入力がユーザコンピューティングデバイス２００によって取得されてから、（音声検出モジュール１０６を介して）少なくとも時間の閾値量が経過したと決定してもよい。あるいは、ユーザコンピューティングデバイス２００は、発話を含む音声入力が取得されてから、（発話検出モジュール１０８を介して）少なくとも時間の閾値量が経過したと決定してもよい。時間の閾値量が経過したと決定することに応答して、電力管理サブシステム１００は、ネットワークインターフェイスモジュール２０６を停止させてもよく、図３に関して上述されるように、それ自身の構成要素の１つ以上を停止してもよい。
【００６８】
さらに、電力管理サブシステム１００は、図３において、どのようにウェイクワードが識別されているかに実質的に類似した方法で、ユーザ４０１によって選択され、話されたスリープワードを認識するように構成されてもよい。スリープワードが、電力管理サブシステム１００によって（例えば、発話処理モジュール１１０によって）検出されると、ネットワークインターフェイスモジュール２０６および／または電力管理サブシステム１００の構成要素の１つ以上が停止されてもよい。同様に、ユーザコンピューティングデバイス２００がそれ自身のオンデバイス発話認識機能を含む場合、それらは、検出されつつあるスリープワードに応答して、停止されてもよい。
【００６９】
図５は、電力管理サブシステム１００およびユーザコンピューティングデバイス２００の動作をカスタマイズするために、ユーザコンピューティングデバイス２００によって提供されてもよい実例的なユーザインターフェイス５００を図示する。１つの実施形態において、ユーザインターフェイスモジュール２１２は、ユーザインターフェイス５００を介して作成されたユーザ入力を処理し、それを電力管理サブシステム１００に提供する。
【００７０】
エネルギーレベル閾値要素５０２は、図３のブロック３０８に示されるように、ユーザが、発話検出モジュール１０８が起動されるべき閾値エネルギーレベルを特定できるようにしてもよい。例えば、ユーザコンピューティングデバイス２００が比較的、騒音の多い環境にある場合、またはユーザコンピューティングデバイス２００が音声検出モジュール１０６によって決定されるかなりの数の「誤検出」を体験している場合、ユーザ４０１は、発話処理モジュール１０８が起動されるエネルギーレベル閾値を増加させたいと思うかもしれない。ユーザ４０１が比較的、静かな環境にある場合、またはユーザコンピューティングデバイス２００がかなりの数の検出漏れを体験している場合、ユーザ４０１は、発話検出モジュール１０８が起動されるエネルギーレベル閾値を減少させたいと思うかもしれない。上述のように、エネルギーレベル閾値は、量の閾値、強度の閾値、振幅の閾値、または音声入力に関連する他の閾値に対応してもよい。
【００７１】
キーワード信頼性閾値要素５０４は、ユーザが、発話処理モジュール１１０が、キーワードが存在すると決定する閾値スコアを特定できるようにしてもよい。同様に、識別信頼性閾値要素は、ユーザが、発話処理モジュール１１０が、ユーザがキーワードを話したと決定する閾値スコアを特定できるようにしてもよい。１つの実施形態において、アプリケーション処理モジュール１１２およびネットワークインターフェイスモジュール２０６は、ウェイクワードを認識する発話処理モジュール１１０に応答して起動される（例えば、発話処理モジュール１１０は、閾値を満たすスコアを決定し、そのスコアは、ウェイクワードが発話に含まれる可能性に対応する）。別の実施形態において、アプリケーション処理モジュール１１２およびネットワークインターフェイスモジュール２０６は、ウェイクワードがユーザ４０１と関連付けられていると決定する発話処理モジュール１１０に応答して起動され、少なくとも閾値スコアが、ウェイクワードがユーザと関連付けられている可能性に対応する。さらなる実施形態では、アプリケーション処理モジュール１１２およびネットワークインターフェイスモジュール２０６は、発話処理モジュール１１０に応答して起動され、その両方が、少なくとも閾値スコアを用いてウェイクワードを認識し、少なくとも閾値スコアを用いてウェイクワードがユーザ４０１と関連付けられていると決定する。ユーザ４０１が、電力管理サブシステム１００の個々の構成要素のうちのいずれか、またはすべてを起動するための個々の閾値を設定できるようにするために、他の閾値要素が提供されてもよい。実質的に図３について上述したように、ユーザが実例的なルーティン３００の１つ以上のブロックが飛ばされてもよいスコアを特定できるようにするために、さらなる閾値要素が提供されてもよい。
【００７２】
ユーザインターフェイス５００は、１つ以上のタイマー要素５０８Ａおよび５０８Ｂをさらに含んでもよい。各タイマー要素は、ネットワークインターフェイスモジュール２０６および／または電力管理サブシステム１００の１つ以上の構成要素が自動的に停止される閾値時間間隔を設定するために使用されてもよい。タイマー要素５０８Ａに関して、電力管理サブシステム１００が、エネルギーレベル閾値を満たすエネルギーレベルを有する音声入力がユーザコンピューティングデバイス２００によって取得されてから少なくとも閾値時間間隔が経過したと決定する場合、電力管理サブシステム１００のアプリケーション処理モジュール１１２、発話処理モジュール１１０、および発話検出モジュール１０８に加えて、ネットワークインターフェイスモジュール２０６は、自動的に停止されてもよい。さらなるタイマー要素はまた、実質的に図４Ｃについて上述するように、その後、発話認識サーバ４２０が、停止命令を、ネットワークインターフェイスモジュール２０６および電力管理サブシステム１００に自動的に送信する閾値時間間隔を設定するために使用されてもよい。他のモジュールのための電力管理サブシステム１００のタイマー要素もまた、提供されてもよい。
【００７３】
引き続き図５に関して、ユーザ４０１は、ウェイクワードが、サーバ確認要素５１０を用いて発話認識サーバ４２０によって確認されるべきかどうかを選択し得る。いくつかの実施形態では、アプリケーション処理モジュール１１２およびネットワークインターフェイスモジュール２０６は、ウェイクワードの確認が発話認識サーバ４２０から受信された場合に発話処理モジュール１１０がウェイクワードを検出した後にのみ、起動されたままになる。ユーザ４０１がウェイクワードのサーバ確認を要求した場合、ウェイクワードが確認されない限り、続いて取得された音声入力は発話認識サーバ４２０に送信されないかもしれない。しかしながら、上述のように、確認が要求される必要はない。ユーザ４０１がウェイクワードのサーバ確認を要求しない場合、ユーザコンピューティングデバイス２００は、発話内のウェイクワードを検出するおよび／または発話がユーザ４０１と関連付けられていると決定する発話処理モジュール１１０の後に取得された１つ以上の音声入力を送信してもよい。
【００７４】
ユーザ４０１はまた、話者識別要素５１２のために話者識別が要求されるかどうかを選択してもよい。ユーザ４０１が話者識別を要求する場合、発話処理モジュール１１０および／または発話認識サーバ４２０は、ウェイクワードに対応する発話を含む音声入力がユーザ４０１と関連付けられているかどうかを判定するために使用されてもよい。アプリケーション処理モジュール１１２およびネットワークインターフェイスモジュール２０６は、ユーザ４０１が発話の話者であると決定する発話処理モジュール１１０に応答して起動されてもよい。同様に、ネットワークインターフェイスモジュール２０６は、ユーザ４０１が本当にウェイクワードの話者であるという確認を発話認識サーバ４２０から受信することに応答して起動状態を維持してもよい。しかしながら、ユーザ４０１が話者識別を要求しない場合、発話処理モジュール１１０も発話認識サーバ４２０も、話者を識別する必要はない。
【００７５】
ユーザインターフェイス５００はまた、オンデバイス認識選択要素５１４も含んでもよく、ユーザ４０１は、ユーザコンピューティングデバイス２００がそれ自身で発話認識結果を生成するかどうか、または音声入力が、発話認識結果へと処理するための発話認識サーバ４２０に経路指定されるかどうかを選択してもよい。ユーザコンピューティングデバイス２００がオンデバイス発話認識機能を含まない場合、オンデバイス認識選択要素５１４は、随意的に、無効になるか、または灰色にされてもよい。さらに、処理ユニット２０２および／またはアプリケーション処理モジュール１１２によって実装されるようなオンデバイス発話認識機能が比較的大きな電力消費を要求する場合があるため、電源２１８が閾値電源レベル（例えば、充電パーセンテージ）を下回る場合、オンデバイス認識選択要素５１４は、自動的に非選択状態になってもよい（また、オンデバイス発話認識機能は自動的に無効になってもよい）。
【００７６】
ウェイクワードペイン５１６およびスリープワードペイン５１８は、ユーザインターフェイス要素を含んでもよく、この要素によって、ユーザ４０１はユーザ４０１によって話されたウェイクワードまたはスリープワードを記録し、かつ再生させてもよい。ユーザ４０１がウェイクワードまたはスリープワードを記録すると、ユーザの発話を含む音声入力が発話認識サーバ４２０に提供されてもいいように、ネットワークインターフェイスモジュール２０６が自動的に起動されてもよい。ユーザが、記録されたウェイクワードまたはスリープワードが発話認識サーバ４２０によって正確に理解されたかどうかを判定してもよいように、発話認識サーバ４２０は記録されたウェイクワードまたはスリープワードの音訳を戻してもよい。あるいは、ユーザ４０１がウェイクワードまたはスリープワードを記録するとき、ユーザコンピューティングデバイス２００の任意のオンデバイス発話認識機能は、ユーザ４０１の記録された発話を音訳するために、起動されてもよい。話されたウェイクワードまたはスリープワードのスペクトル表現はまた、ユーザインターフェイス５００によって提供されてもよい。随意的に、ウェイクワードペイン５１６およびスリープワードペイン５１８は、ウェイクワードまたはスリープワードについての提案を含んでもよいし、ユーザ４０１によって提供されたウェイクワードまたはスリープワードの質を示してもよく、この質は、ウェイクワードまたはスリープワードが誤検出または検出漏れを生じさせる可能性を反映していることがある。キーワードを提案することに関するさらなる情報は、２０１２年１１月６日に出願された、米国特許出願第１３／６７０，３１６号、発明の名称「ＷＡＫＥ  ＷＯＲＤ  ＥＶＡＬＵＡＴＩＯＮ」に見出すことができる。この出願の開示は、本願においては、その全体において参照することにより組み込まれる。
【００７７】
種々の本開示の態様は、実例的な目的のためのハードウェア実装例として検討された。しかしながら、上述のように、電力管理サブシステム１００は、処理ユニット２０２によって、部分的に、または全体的に実装されてもよい。例えば、電力管理サブシステム１００の機能性のうちのいくつかまたはすべては、処理ユニット２０２によって実行されるソフトウェア命令として実装されてもよい。特に非限定的な例では、発話処理モジュール１１０、アプリケーション処理モジュール１１２、および電力管理モジュール１２０の機能性は、処理ユニット２０２よって実行されるソフトウェアとして実装されてもよい。したがって、処理ユニット２０２は、ウェイクワードを検出することに応答して、ネットワークインターフェイスモジュール２０６を選択的に起動するおよび／または停止するように構成されてもよい。さらなる実装例が可能である。
【００７８】
実施形態に依存して、本願に記載されたルーティンまたはアルゴリズムのうちのいずれかの所定の行為、イベント、または機能は、異なるシーケンスで行われ、付加され、融合され、または完全に放置されることが可能である（例えば、記載された動作またはイベントのすべてが、アルゴリズムの実践のために必要というわけではない）。さらに、所定の実施形態において、連続的よりむしろ、例えば、マルチスレッド処理、割り込み処理、または複数のプロセッサまたはプロセッサコアを通して、または他の並列アーキテクチャ上で、動作またはイベントが同時に行われ得る。
【００７９】
本願に開示された実施形態に関連した種々の実例的な論理ブロック、モジュール、ルーティン、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、またはその両方の組み合わせとして、実装され得る。ハードウェアおよびソフトウェアのこの互換性を明確に説明するために、種々の実例的な構成要素、ブロック、モジュール、およびステップは、概してそれらの機能性の観点から上述されている。このような機能性が、ハードウェアまたはソフトウェアとして実装されるかどうかは、全体のシステムに課される特定のアプリケーションおよび設計上の制約に依存する。記載された機能性は各特定のアプリケーションに関する様々な方法で実装され得るが、このような実装例の決定は、本開示の範囲から逸脱すると解釈されるべきではない。
【００８０】
とりわけ、「ｃａｎ」、「ｃｏｕｌｄ」、「ｍｉｇｈｔ」、「ｍａｙ」、「ｅ．ｇ．」などの条件文の言語は、特に具体的に述べられない限り、または特に使用された文脈内で理解されない限り、所定の実施形態は所定の特徴、要素および／またはステップを含むが、他の実施形態はそれらを含まないと伝えることを、概して目的としている。このように、このような条件文の言語は、特徴、要素および／またはステップが何らかの形で１つ以上の実施形態に要求されている、または１つ以上の実施形態が、著者入力またはプロンプティングとともに、あるいは無しで、これらの特徴、要素および／またはステップがいずれかの特定の実施形態に含まれるか、または行われるかを決定するための論理を必ずしも含むことを意味することを、一般的に目的とはしていない。「ｃｏｍｐｒｉｓｉｎｇ」、「ｉｎｃｌｕｄｉｎｇ」、「ｈａｖｉｎｇ」などの用語は同義語であり、オープンエンド形式で包括的に使用され、付加的な要素、特徴、行為、動作などを除外しない。また、用語「ｏｒ」は、例えば、それが要素のリストをつなぐために使用されたときに、用語「ｏｒ」が、リスト内の要素の１つ、いくつか、またはすべてを意味するように、その包括的な意味で使用される（またその排他的な意味では使用されない）。
【００８１】
語句「Ｘ、Ｙ、およびＺのうちの少なくとも１つ」などの接続文の言語は、特に別の具体的な記述がない限り、一般的に使用される文脈とともに、項目、用語などが、Ｘ、Ｙ、またはＺ、またはそれらの組み合わせのどちらかであってもよいことを伝えるように理解される。このように、このような接続文の言語は、概して、所定の実施形態が、Ｘの少なくとも１つ、Ｙの少なくとも１つ、およびＺの少なくとも１つがそれぞれ、存在するように要求することを意味することは目的としていない。
【００８２】
上述の詳細な説明が、種々の実施形態に適用されるように、新規の特徴を示し、記載し、指摘している一方、種々の省略、置換、および説明されたデバイスまたはアルゴリズムの形式および詳細における変化が、本開示の精神から逸脱することなく理解され得る。いくつかの特徴が使用され得る、または他とは区別されて実践され得るため、認識され得るように、本願に記載された発明の所定の実施形態は、本願に記載された特徴および利点のすべてを提供するわけではない形式で具現化され得る。本願に開示された所定の発明の範囲は、前述の記載によるよりはむしろ、添付の請求の範囲によって示される。請求の範囲の意味および等価の範囲内にあるすべての変化は、それらの範囲内に包含されることになる。
【００８３】
付記：
付記１．
音声入力を受信するように構成された音声入力モジュールと、
音声入力モジュールと通信する音声検出モジュールであって、音声入力の量を決定し、かつ決定された量に少なくとも部分的に基づいて、発話検出モジュールを起動させるように構成された、音声検出モジュールと、
音声入力が発話を含む可能性を示す第１のスコアを決定し、かつスコアに少なくとも部分的に基づいて、ウェイクワード認識モジュールを起動させるように構成された発話検出モジュールと、
音声入力がウェイクワードを含む可能性を示す第２のスコアを決定するように構成されたウェイクワード認識モジュールと、
取得された音声入力の少なくとも一部を遠隔コンピューティングデバイスに送信するように構成されたネットワークインターフェイスモジュールと、を備える、システム。
付記２．
音声入力デバイスがマイクロフォンを備え、音声検出モジュールが、第１のデジタル信号プロセッサを備え、発話検出モジュールが、第２のデジタル信号プロセッサを備え、ウェイクワード認識モジュールが、マイクロプロセッサを備える、付記１に記載のシステム。
付記３．
発話検出モジュールが、隠れモルコフモデル、ガウス混合モデル、複数のスペクトル帯におけるエネルギー、または複数のスペクトル帯における信号対雑音比のうちの少なくとも１つを使用して、第１のスコアを判定するようにさらに構成され、
ウェイクワード認識モジュールが、アプリケーション処理モジュール、隠れモルコフモデル、およびガウス混合モデルのうちの少なくとも１つを使用して、第２のスコアを判定するようにさらに構成される、付記１に記載のシステム。
付記４．
ウェイクワード認識モジュールが、第１のスコアに少なくとも部分的に基づいて、音声検出モジュールを停止させるようにさらに構成され、
ウェイクワード認識モジュールが、第２のスコアに少なくとも部分的に基づいて、発話検出モジュールを停止させるようにさらに構成される、付記１に記載のシステム。
付記５．
第１のコンピューティングデバイスを動作させるコンピュータ実装方法であって、
音声入力を受信することと、
音声入力から１つ以上の値であって、
音声入力のエネルギーレベルを示す第１の値、または
音声入力が発話を含む可能性を示す第２の値のうちの少なくとも１つを含む、１つ以上の値を決定することと、
１つ以上の値に少なくとも部分的に基づいて、第１のコンピューティングデバイスの第１のモジュールを起動することと、
第１のモジュールによって動作を行うことと、を含み、動作が、
音声入力がウェイクワードを含むと決定すること、
発話認識結果を取得するために、音声入力の少なくとも一部に対して発話認識を行うこと、または
音声入力の少なくとも一部を第２のコンピューティングデバイスに送信させること、のうちの少なくとも１つを含む、方法。
付記６．
第１のモジュールが、低出力状態と高出力状態との間で切り替え可能なプロセッサを含み、
プロセッサが、それが高出力状態にあるときのみ、動作を行う、付記５に記載のコンピュータ実装方法。
付記７．
第１のモジュールを起動することが、プロセッサを、低出力状態から高出力状態に切り替えることを含む、付記６に記載のコンピュータ実装方法。
付記８．
第１のモジュールを停止することさらに含み、第１のモジュールを停止することが、プロセッサを高出力状態から低出力状態に切り替えることを含む、付記６に記載のコンピュータ実装方法。
付記９．
プロセッサが、デジタル信号プロセッサまたはマイクロプロセッサのうちの少なくとも１つを含む、付記６に記載のコンピュータ実装方法。
付記１０．
第１のモジュールが、マイクロプロセッサによって実行されるように構成されたソフトウェアモジュールを含む、付記５に記載のコンピュータ実装方法。
付記１１．
第１のモジュールを起動することが、マイクロプロセッサに、ソフトウェアモジュールを実行させることを含む、付記１０に記載のコンピュータ実装方法。
付記１２．
動作が、音声入力の少なくとも一部を第２のコンピューティングデバイスに送信させることを含み、第２のコンピューティングデバイスから発話認識結果を受信することをさらに含む、付記５に記載のコンピュータ実装方法。
付記１３．
発話認識結果が、音声入力の少なくとも一部の音訳と、音声入力の少なくとも一部に含まれる知的エージェントクエリーに対する応答とのうちの少なくとも１つを含む、付記１２に記載のコンピュータ実装方法。
付記１４．
１つ以上の値に少なくとも部分的に基づいて、第１のコンピューティングデバイスの第２のモジュールであって、発話認識アプリケーションを実装するように構成された、第２のモジュールを起動することと、
発話認識アプリケーションを用いて、発話認識結果を処理することと、をさらに含む、付記１２に記載のコンピュータ実装方法。
付記１５．
第１のプロセッサであって、
音声入力のエネルギーレベルを示す第１の値、または音声入力が発話を含む可能性を示す第２の値のうちの少なくとも１つを含む、１つ以上の値を決定することと、
１つ以上の値に少なくとも部分的に基づいて、第２のプロセッサを起動させることと、を行うように構成された、第１のプロセッサと、
動作を行うように構成された第２のプロセッサであって、動作が、
音声入力がウェイクワードを含むと決定すること、
発話認識結果を取得するために、音声入力の少なくとも一部に対して発話認識を行うこと、または
音声入力の少なくとも一部を第２のデバイスに送信させること、のうちの少なくとも１つを含む、第２のプロセッサと、を備える、デバイス。
付記１６．
第１のプロセッサが、デジタル信号プロセッサまたはマイクロプロセッサのうちの少なくとも１つを備える、付記１５に記載のデバイス。
付記１７．
第２のプロセッサが、デジタル信号プロセッサまたはマイクロプロセッサのうちの少なくとも１つを備える、付記１５に記載のデバイス。
付記１８．
音声入力を記憶するように構成されたメモリバッファモジュールをさらに含む、付記１５に記載のデバイス。
付記１９．
音声入力を記憶するように構成されたメモリバッファモジュールがリングバッファを含む、付記１８に記載のデバイス。
付記２０
第１のプロセッサと通信する音声入力モジュールをさらに含み、音声入力モジュールが音声入力を取得するように構成された、付記１５に記載のデバイス。
付記２１．
音声入力を取得するように構成された音声入力モジュールと、
音声入力モジュールと通信する第１のモジュールと、
第１のモジュールと通信する第２のモジュールと、を備える、システムであって、
第１のモジュールが、
音声入力に少なくとも部分的に基づいて１つ以上の値を決定するように、また、
１つ以上の値に少なくとも部分的に基づいて第２のモジュールを起動させるように構成され、
第２のモジュールが、発話認識を音声入力の少なくとも一部に対して行わすように構成される、システム。
付記２２．
１つ以上の値が音声入力の量を含む、付記２１に記載のシステム。
付記２３．
少なくとも閾値期間、音声入力の量が量の閾値を満たす場合のみ、第２のモジュールが起動されることになる、付記２２に記載のシステム。
付記２４．
１つ以上の値が、音声入力が発話を含む可能性を含む、付記２１に記載のシステム。
付記２５．
１つ以上の値が、音声入力がウェイクワードを含む可能性を示すスコアを含む、付記２１に記載のシステム。
付記２６．
１つ以上の値が、ウェイクワードが、ウェイクワードと関連付けられているユーザによって話された可能性を示すスコアをさらに含む、付記２５に記載のシステム。
付記２７．
音声入力の少なくとも一部に関して発話認識結果を生成することによって、第２のモジュールが発話認識を音声入力の少なくとも一部に対して行わすように構成される、付記２１に記載のシステム。
付記２８．
音声入力を遠隔コンピューティングデバイスに送信させ、
音声入力の少なくとも一部に関して、発話認識結果を遠隔コンピューティングデバイスから受信することによって、
第２のモジュールが、発話認識を音声入力の少なくとも一部に対して行わすように構成される、付記２１に記載のシステム。
【図１】
2016505888.tif 000003
【図２】
2016505888.tif 000004
【図３】
2016505888.tif 000005
【図４Ａ】
2016505888.tif 000006
【図４Ｂ】
2016505888.tif 000007
【図４Ｃ】
2016505888.tif 000008
【図５】
2016505888.tif 000009
【国際調査報告】
2016505888.tif 000010
2016505888.tif 000011
2016505888.tif 000012