(57)【要約】オーディオ処理デバイスは、第１レートでオーディオサンプルを生成するように、オーディオ入力信号を受信し、オーディオ入力信号を処理する動作が可能なオーディオ入力回路部を備える。オーディオ処理デバイスはオーディオサンプル内のキーワードを検知するように動作可能な第１トリガーエンジンをさらに備える。オーディオ処理デバイスは、オーディオサンプルを続けて受信し格納するように動作可能な遅延バッファも備える。遅延バッファは遅延バッファ内に格納されたオーディオサンプルをホストにデータバスを介して第１レートより速い第２レートで転送するようにさらに動作可能である。さらに、遅延バッファは、格納されたオーディオサンプルを送信した後、遅延バッファ内に格納されたオーディオサンプルをホストに第１レートで転送するように動作可能である。【選択図】図１
2021508842.tif 000002
【特許請求の範囲】
【請求項１】
デジタル信号プロセッサを用いて第１データレートで音声強調オーディオサンプルのストリームを生成するようにオーディオ入力信号を処理することと、
ファーストイン、ファーストアウト準拠の遅延バッファに前記音声強調オーディオサンプルを格納することと、
前記音声強調オーディオサンプルにおいてキーワードを検知することと、
格納した前記音声強調オーディオサンプルをホストデバイスにデータバスを介して第２データレートで送信し、前記第２データレートは前記第１データレートより大きいことと、
前記ホストデバイスから停止コマンドを受信するまで、生成された前記音声強調オーディオサンプルのストリームを前記ホストデバイスに前記第１データレートで送信することと、
を含む方法。
【請求項２】
前記オーディオ入力信号をオーディオセンサアレイから受信し、前記オーディオ入力信号はオーディオ信号であることをさらに含む
請求項１に記載の方法。
【請求項３】
前記遅延バッファは、Ｔ秒のオーディオ入力データに相当する前記音声強調オーディオサンプルを格納するように構成され、前記Ｔは前記オーディオ入力信号を受信してから最初に送信された音声強調オーディオサンプルを前記ホストデバイスが受信するまでの時間である請求項１に記載の方法。
【請求項４】
前記音声強調オーディオサンプルにおいて前記キーワードを検知した後、起動コマンドを前記ホストデバイスに送信することをさらに含む
請求項１に記載の方法。
【請求項５】
前記ホストデバイスが前記起動コマンドを受信することと、
前記ホストデバイスがスリープモードからオペレーションモードに移ることと、
前記ホストデバイスからオーディオサンプルの要求を送信することと、
をさらに含む
請求項４に記載の方法。
【請求項６】
前記データバスで前記オーディオサンプルの要求を前記ホストデバイスから受信することをさらに含む
請求項５に記載の方法。
【請求項７】
前記第２データレートは前記データバスにおいて使用可能な最大の送信レートである
請求項１に記載の方法。
【請求項８】
前記ホストデバイスが送信された前記音声強調オーディオサンプルを受信することと、
前記ホストデバイスが前記音声強調オーディオサンプルを入力バッファに格納することと、
をさらに含む
請求項１に記載の方法。
【請求項９】
前記ホストデバイスの第２トリガーエンジンが前記入力バッファに格納された前記音声強調オーディオサンプルにおいて前記キーワードの存在を検証することをさらに含む
請求項８に記載の方法。
【請求項１０】
音声コマンドプロセッサが、コマンドを決定するように、前記キーワードに続く前記音声強調オーディオサンプルを処理することと、
決定された前記コマンドを実行することと、
をさらに含む
請求項９に記載の方法。
【請求項１１】
前記ホストデバイスの非アクティブの期間を検知することと、
前記ホストデバイスが停止コマンドを送信することと、
前記ホストデバイスがオペレーションモードからスリープモードに移行することと、
をさらに含む
請求項１に記載の方法。
【請求項１２】
オーディオ入力信号を受信して、第１データレートを有するオーディオサンプルのストリームを生成するように動作可能なオーディオ入力回路部と、
前記オーディオサンプルのストリームにおいてキーワードを検知し、起動コマンドをホストデバイスにデータバスを介して送信するように動作可能な第１トリガーエンジンと、
遅延バッファと、
を備え、
前記遅延バッファは、前記オーディオサンプルのストリームを、ファーストイン、ファーストアウト準拠で格納して、データの転送要求を前記ホストデバイスから受信した後、格納された前記オーディオサンプルを前記ホストデバイスに前記第１データレートより大きい第２データレートで、次のオーディオサンプルが前記遅延バッファに格納されなくなるまで送信するように動作可能であり、
前記遅延バッファは、格納された前記オーディオサンプルを前記遅延バッファから前記ホストデバイスに送信した後、停止コマンドを前記ホストデバイスから受信するまで、前記オーディオサンプルのストリームを前記ホストデバイスに前記第１データレートで送信するように動作可能である
オーディオ処理システム。
【請求項１３】
周囲環境からの音声を感知し、前記オーディオ入力信号を生成するように動作可能なオーディオセンサアレイをさらに備える
請求項１２に記載のオーディオ処理システム。
【請求項１４】
前記遅延バッファは、前記オーディオ入力信号の少なくともＴ秒に相当する前記オーディオサンプルのストリームのサブセットを格納するように動作可能なメモリであり、Ｔは前記オーディオサンプルのストリームを受信したときから前記ホストデバイスが最初に格納された前記オーディオサンプルを受信するときまでの間の時間である
請求項１２に記載のオーディオ処理システム。
【請求項１５】
前記第１トリガーエンジンは、前記オーディオサンプルのストリームから前記キーワードを検知した後に、起動コマンドを前記ホストデバイスに送信するように動作可能である
請求項１２に記載のオーディオ処理システム。
【請求項１６】
前記ホストデバイスは、
前記起動コマンドを前記データバスから受信し、起動シークエンスを実行し、前記データバスにオーディオサンプルの要求を送信し、格納された前記オーディオサンプルを受信するように動作可能なホストプロセッサ
を備える
請求項１５に記載のオーディオ処理システム。
【請求項１７】
前記ホストデバイスは前記データバスから受信した前記オーディオサンプルを格納するように動作可能な入力バッファを備える
請求項１２に記載のオーディオ処理システム。
【請求項１８】
前記ホストデバイスは、前記入力バッファに格納された前記オーディオサンプルにおいて前記キーワードの存在を検知するように動作可能な第２トリガーエンジンをさらに備える
請求項１７に記載のオーディオ処理システム。
【請求項１９】
前記ホストデバイスは、前記入力バッファに格納された前記オーディオサンプルにおいて前記キーワードに続く音声コマンドを認識し、認識された前記音声コマンドを実行するように動作可能な音声コマンドプロセッサをさらに備える
請求項１８に記載のオーディオ処理システム。
【請求項２０】
前記ホストデバイスは、非アクティブの期間を検知し、前記遅延バッファからの前記オーディオサンプルの転送を停止するように、前記データバスを介して停止コマンドを送信し、スリープモードに移行するようにさらに動作可能である
請求項１２に記載のオーディオ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、１以上の実施の形態において、広くオーディオ信号処理に関し、より詳細には、例えば、低電力装置における音声コマンド処理に関する。
【背景技術】
【０００２】
音声コントロール装置、例えばスマートスピーカーは、近年、人気を得ている。これらの装置は、典型的な例では、１以上のマイクロフォンを通してオーディオを受信し、次に受信したオーディオ入力を処理して、１以上のキーワードと音声コマンドとを含み得る人の発話を検知する。電力を節約するため、多くの音声コントロール装置は、非アクティブのときにスリープモードに入り、オーディオ入力にキーワードが検知された後に起動して、さらなるオーディオ入力と音声コマンドとの処理とを可能にする。起動シーケンスが完了した後、装置は受信したオーディオ入力ストリームをリアルタイムで処理することができる。ある装置では、起動シークエンスの完了前に受信した音声コマンドが失われ、発話者が音声コマンドを繰り返さないといけない場合がある。他の装置では、処理の遅延をもたらす場合があり、初期音声コマンドを受信できるように、ユーザがテンポを遅くするか、またはそうでなければ、発話パターンを変化するように導く場合がある。このため、低電力装置において、音声コマンドを処理するためのシステムと方法とを改善し続けることが必要である。
【発明の概要】
【０００３】
オーディオ処理装置は、オーディオサンプルを生成するように、オーディオ入力信号を受信し、オーディオ入力信号を処理する動作が可能なオーディオ入力回路部を備える。オーディオ信号装置は、オーディオサンプル内のキーワードを検知する動作が可能な第１トリガーエンジンと、生成されたオーディオサンプルを続けて受信して格納する動作が可能な遅延バッファとをさらに備える。第１トリガーエンジンは、さらに、キーワードを検知した後、起動信号をホストデバイスに送信するように動作可能である。遅延バッファは、さらに、ホストデバイスからの要求に応じて、次に生成されたオーディオサンプルを送信するようになるまで、格納されたオーディオサンプルをホストデバイスに高速バスを介してリアルタイムレートよりも速いレートで送信するように動作可能である。
【０００４】
本開示の態様とこれらの利点を、以下の図面と以下の詳細な説明を参照して、よく理解することができる。同様の参照番号は、１以上の図面で示された同様の要素を識別するために使用され、その中の表示は、本開示の実施の形態を表すことを目的とし、同じであることに限定することを目的としていないことを認識できよう。図面内の構成要素は、必ずしも縮尺通りではなく、代わりに、本開示の原理を明確に表すことに重点を置いている。
【図面の簡単な説明】
【０００５】
【図１】図１は、１以上の実施の形態によるオーディオ処理システムの例を表す図である。
【０００６】
【図２】図２は、１以上の実施の形態によるオーディオ信号プロセッサとホストとの例を表す図である。
【０００７】
【図３】図３は、１以上の実施の形態によるオーディオ信号プロセッサの動作例を表すフローチャートである。
【０００８】
【図４】図４は、１以上の実施の形態によるホストの動作例を表すフローチャートである。
【発明を実施するための形態】
【０００９】
本発明の方法と装置とは、低電力音声コントロール装置でオーディオサンプルを処理するための改善された技術を提供する。様々な実施の形態において、スリープモード、低電力モード、または起動シーケンスの間に受信されるオーディオは、ホスト装置により低遅延で処理される。
【００１０】
動作中に、発話によって制御される装置は、キーワードが発話されるのを待ち、さらに音声コマンド処理を駆動させる場合が多い。電力を節約するため、ある装置は、非アクティブの間、オーディオ入力が低電力デジタル信号プロセッサ（ＤＳＰ；Digital  Signal  Processor）に送信される間、スリープモードを担うホストプロセッサを含む。低電力ＤＳＰは、オーディオ入力を受信し、より低電力のトリガーエンジンを実行して、キーワードを検知する。キーワードを検知した後、ＤＳＰは高電力ホストプロセッサに起動信号を送信する。様々な実施の形態において、ホストシステムは、キーワードを確実に検知するためにキーワードを再確認する高性能トリガーエンジン、キーワードに続く音声コマンドを検知し実行する高性能音声コマンドプロセッサ、および／または、付加的な音声コマンドプロセッサ機能を提供し得る他の装置、例えばクラウドサーバと通信する通信インタフェースを含んでもよい。
【００１１】
様々な実施の形態において、低電力ＤＳＰは、ホストがスリープモードであるとき、オーディオサンプルを遅延バッファに格納する。ホストプロセッサが起動した後、ＤＳＰは、オーディオ入力サンプルのストリームが後に続くデータバスを介して、格納されたオーディオサンプルをホストプロセッサに送信し、キーワードとコマンド処理とのシームレスな移行を支える。一実施の形態において、遅延バッファは、ＤＳＰに提供される「Ｔ秒」以上のサイズの循環遅延バッファとして実装されてもよい。ここで、Ｔは、キーワード検知と、ホストプロセッサの起動シーケンスと、ホストプロセッサへの格納されたオーディオサンプルの送信開始との間における遅延を表す。それゆえ、ホストが起動するとき、ＤＳＰの循環遅延バッファに格納されたオーディオデータは、起動後に得られたリアルタイムオーディオデータと同様に、ホストに転送される。
【００１２】
ホストが起動し、ＤＳＰが循環遅延バッファからオーディオサンプルを送信し始めた後、現在処理されるオーディオサンプルは、循環遅延バッファにＴ秒の格納されたオーディオサンプルの後ろに格納される。オーディオサンプルがリアルタイムで連続して処理されると、ユーザがキーワードとコマンドとを言ったときにこのコマンドに対する反応がＴ秒遅れるように、システムに遅延が加えられる場合がある。一解決策は、循環遅延バッファに格納されたオーディオデータと、現在のリアルタイムデータとを個別のチャネル／オーディオストリームでホストに転送することである。しかしながら、このアプローチでは、２つのデータストリームがホストに送信され、ホストにおいて２つのストリームから音声をつなぐ必要があり、記録されたオーディオにポップノイズとクリックノイズとを引き起こし得る同期の問題をもたらす場合がある。
【００１３】
本開示の様々な実施の形態において、オーディオストリームから受信されたオーディオサンプルは循環バッファに格納される。循環バッファからホストプロセッサに格納されたオーディオデータを転送し始めるとき、格納されたオーディオサンプルと、現在処理されるオーディオサンプルとは同じオーディオストリームを通して（ＵＳＢインタフェースを通るように）送られる。一実施の形態において、格納されたオーディオサンプルは循環バッファから、リアルタイムのオーディオ入力より速い高レートで転送される。このため、循環バッファがリアルタイムオーディオデータを格納するまで、より多量のオーディオサンプルが最初に転送される。一実施の形態において、このアプローチは低電力の２段階トリガーの実装を可能にし、低電力オーディオＤＳＰ上で１つのトリガーが実行され、第２のトリガーはホスト側に統合されたより高電力のホストプロセッサ上（または、遠隔で、例えばクラウドサーバ上）で実行される。
【００１４】
一実施の形態において、オーディオデータサンプルはＤＳＰとホストプロセッサとの間でＵＳＢプロトコルを用いて転送される。ＵＳＢオーディオプロトコルにおいて、ＤＳＰがホストプロセッサに転送できるオーディオデータの量はホストが要求してもよい。例えば、クラス固有（アイソクロナスオーディオデータエンドポイント記述子）のｂｍＡｔｔｒｉｂｕｔｅの７ビットをセットすることで、ホストが最大パケットサイズを要求サイズとして使用すべきことを示す。規定より速いレートでデータを送信する一手法は、要求パケットサイズを最大（例えば１０１６バイト）にすることである。循環遅延バッファが空に近いとき、ＤＳＰはオーディオサンプルを通常の、リアルタイムのレートで送信し始め得る。別の実施の形態において、本明細書で説明されるシステムと処理とは、他のデータ転送プロトコルを用いてもよい。
【００１５】
図１を参照すると、１以上の実施の形態における例示的なオーディオ処理システムが記載されていよう。図示されているように、オーディオ処理装置１００は、オーディオセンサアレイ１０５と、オーディオ信号プロセッサ１２０と、ホストシステム１５０とを含む。オーディオ処理装置１００は、２段階のキーワード検知スキームを使用して音声コマンドを処理する音声コントロール装置（例えばスマートスピーカー）である。一実施の形態において、このスキームは、キーワードの初期経過検知を行うオーディオ信号プロセッサ１２０における低電力トリガーエンジンと、より正確なキーワードの検知を行うホストシステム１５０に実装された（または他の装置に実装された）高電力トリガーエンジンとを利用する。低電力トリガーエンジンが受信したオーディオを処理している間、高電力トリガーエンジンは電力を節約するスリープモードにある。受信したオーディオ内のキーワードを低電力トリガーエンジンが検知した後、受信したオーディオは高電力トリガーエンジンに転送され、高電力トリガーエンジンは、スリープモードから起動し、オーディオがキーワードを本当に含んでいるかを検証するようにオーディオを処理する。
【００１６】
オーディオセンサアレイ１０５は１以上のセンサを備え、各センサは音波の形式であるオーディオ入力をオーディオ信号に変換する変換器として実装され得る。図示された実施の形態において、オーディオセンサアレイ１０５は複数のマイクロフォン１０５ａ〜１０５ｎを備え、各マイクロフォンは、オーディオ信号プロセッサ１２０のオーディオ入力回路部１２１に供給されるオーディオ入力信号を生成する。センサアレイ１０５はマルチチャネル・オーディオ信号を生成し、各チャネルはマイクロフォン１０５ａ〜１０５ｎの１つからのオーディオ入力信号に対応する。
【００１７】
オーディオ信号プロセッサ１２０は、オーディオ入力回路部１２１と、デジタル信号プロセッサ（ＤＳＰ；digital  signal  processor）１２３と、選択自由のオーディオ出力回路部１２２とを含む。様々な実施の形態において、オーディオ信号プロセッサ１２０は、アナログ回路部と、デジタル回路部と、ファームウェアに格納された論理を実行する動作が可能なデジタル信号プロセッサとを備える集積回路として実装されてもよい。オーディオ入力回路部１２１は、例えば、オーディオセンサアレイ１０５に接続するインタフェースと、アンチエイリアシングフィルタと、アナログ−デジタル変換回路部と、エコーキャンセル回路部と、本明細書で開示されている他のオーディオ処理回路部および構成要素とを含んでもよい。
【００１８】
デジタル信号プロセッサ１２３は、１以上のプロセッサ、マイクロプロセッサ、シングルコアプロセッサ、マルチコアプロセッサ、マイクロコントローラ、プログラマブルロジックデバイス（ＰＬＤ；programmable  logic  device）（例えばＦＰＧＡ（field  programmable  gate  array））、デジタル信号処理（ＤＳＰ；digital  signal  processing）デバイス、もしくは、ハードウェアにより、ソフトウェア命令の実行により、または両方の組み合わせにより、本開示の実施の形態について本明細書で論じる様々な動作をするように構成された他のロジックデバイスを備えてもよい。例えば、デジタル信号プロセッサ１２３は、ハードウェア構成要素とソフトウェア命令との適切な任意の組み合わせに相当し得て、本明細書にさらにまた論じられる様々な動作を行うように構成されたデジタル信号処理モジュールを含んでもよい。
【００１９】
デジタル信号プロセッサ１２３は、オーディオセンサアレイ１０５により得られたオーディオ入力信号（例えばオーディオサンプル）を処理するように動作可能である。様々な実施の形態において、トリガーエンジン（例えば低電力トリガーエンジン）１２５は、オーディオサンプルをオーディオ入力回路部１２１から受信して、受信したオーディオサンプル内の１以上のキーワード（例えば特定の命令を引き起こす言葉）を検知するように動作可能である。トリガーエンジン１２５は、オーディオサンプル内のキーワードの経過検知を低電力装置で動作するように構成されている。例えば、低電力トリガーエンジンは、トリガーワードの存在を高確率で識別して動作させるように構成されてもよく、誤検知を避けるためのロバスト性なしで動作するように構成されてもよい。トリガーエンジン１２５がオーディオサンプルのセットにおいてキーワードの初期検知を行った後に、より高電力トリガーエンジン１５５は、トリガーエンジン１２５よりロバスト性の高いキーワード検知アルゴリズムを実行し、識別されたオーディオサンプルのセットを確認し、オーディオサンプルのセットが本当にキーワードを備えているかを決定するようにキーワードのより正確な検知を行い得る。
【００２０】
遅延バッファ１２４は、オーディオサンプルをオーディオ入力回路部１２１から受信して格納するように動作可能である。１以上の実施の形態において、遅延バッファ１２４は少なくとも「Ｔ秒」のオーディオサンプルを格納するように動作可能である。ここで、Ｔは、トリガーエンジン１２５がキーワードを検知するのにかかる時間に、ホスト１５０を起動して、さらにホスト１５０が格納されたオーディオサンプルの受信を開始するのにかかる時間を加えた時間である。遅延バッファ１２４は、ＦＩＦＯ（first-in  first-out）デバイスとして動作し、例えば遅延バッファ１２４がオーディオサンプルの記憶容量について最大容量に到達すると、遅延バッファ１２４内に格納された最も古いオーディオサンプルを遅延バッファ１２４は破棄し、次にオーディオ入力回路部１２１から受信されたオーディオサンプルを格納する。
【００２１】
トリガーエンジン１２５がオーディオサンプルにおいてキーワードを検知した後、ＤＳＰ１２３は起動信号をホスト１５０に通信バス、例えばＵＳＢ（universal  serial  bus）または汎用入出力（ＧＰＩＯ；general-purpose  input／output）線を介して送信する。ホスト１５０は、次に起動シークエンスを実行して、遅延バッファ１２５に格納されたオーディオサンプルを要求する。遅延バッファ１２４は、さらなる起動と音声コマンド処理のために、格納されたオーディオサンプルをホスト１５０にバスを介して転送するように動作可能である。一実施の形態において、遅延バッファは、読み取りポインタと書き込みポインタとを有する循環バッファとして実装される。最初に、遅延バッファ１２４における読み取りポインタは最初のオーディオサンプルの位置で初期化される。遅延バッファ１２４からオーディオサンプルの転送が始まると、遅延バッファ１２４において読み取りポインタから始まるオーディオサンプルがバスを通ってリアルタイムより速いレートで送信される。例えば、オーディオサンプルは、バスで有効な、実質的に使用できる最大の送信レートで送信されてもよい。格納されたオーディオサンプルをホストに送信する間、入力オーディオサンプルは書き込みポインタの位置に格納され続ける。遅延バッファ１２４における読み込みポインタと、書き込みポインタとの距離は、データバッファ１２４が空になるように、やがて小さくなり得る。格納されたオーディオサンプルがより速いレートで送信可能な長さより短いとき、入力データストリームは、遅延バッファを通ってホストにリアルタイムで送信され続ける場合がある。
【００２２】
選択自由のオーディオ出力回路部１２２は、少なくとも１つのスピーカー、例えばスピーカー１１０ａとスピーカー１１０ｂに出力するために、デジタル信号プロセッサ１２３から受信されたオーディオ信号を処理する。様々な実施の形態において、オーディオ出力回路部１２２は、１以上のデジタルオーディオ信号をアナログ信号に変換するデジタル−アナログ変換器（ＤＡＣ；digital-to-analog  converter）と、スピーカー１１０ａとスピーカー１１０ｂとを駆動するための増幅器とを含んでもよい。
【００２３】
オーディオ処理装置１００は、オーディオデータを受信して応答するように動作可能な任意の装置、例えば携帯電話、スマートスピーカー、タブレット、ラップトップコンピュータ、デスクトップコンピュータ、音声コントロールアプライアンス、または自動車などとして、実装されてもよい。ホスト１５０は、オーディオ処理装置１００を動作するための様々なハードウェア構成要素とソフトウェア構成要素とを備えてもよい。図示された実施の形態において、ホスト１５０は、プロセッサ１５１と、ネットワーク１８０（例えばインターネット、ローカルエリアネットワーク、またはセルラーネットワーク）のようなネットワークと通信するための通信インタフェース１５２と、メモリ１５３と含む。
【００２４】
プロセッサ１５１は、１以上のプロセッサ、マイクロプロセッサ、シングルコアプロセッサ、マルチコアプロセッサ、マイクロコントローラ、プログラマブルロジックデバイス（ＰＬＤ）（例えばＦＰＧＡ（field  programmable  gate  array））、デジタル信号処理（ＤＳＰ）デバイス、もしくは、ハードウェアにより、ソフトウェア命令の実行により、または両方の組み合わせにより、本開示の実施の形態について本明細書で論じる様々な動作をするように構成された他のロジックデバイスを備えてもよい。例えば、プロセッサ１５１は、ハードウェア構成要素とソフトウェア命令との適切な任意の組み合わせに相当し得て、本明細書にさらにまた論じられる様々な動作を行うように構成されたデジタル信号処理モジュールを含んでもよい。プロセッサ１５１は、オーディオ信号プロセッサ１２０とインタフェースで接続して通信するように構成されている。
【００２５】
オーディオ信号プロセッサ１２０とホスト１５０とは、ハードウェア構成要素と回路部とを組み込むように表されているが、ある実施の形態において、これらのハードウェア構成要素と回路部とが実行可能な動作の機能範囲の少なくとも一部またはすべてが、デジタル信号プロセッサ１２３のメモリ１５３またはファームウェアに格納されたソフトウェア命令および／または構成データに応じて、プロセッサ１５１および／またはデジタル信号プロセッサ１２３により実行されるソフトウェアモジュールで実現され得ることが認識されよう。
【００２６】
メモリ１５３は、オーディオデータとプログラム命令とを含むデータと情報とを格納するように構成された１以上のメモリデバイスとして実装されてもよい。メモリ１５３は、揮発性および非揮発性メモリデバイスを含む１以上の様々な形式のメモリデバイス、例えばＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read-Only  Memory）、ＥＥＰＲＯＭ（Electrically-Erasable  Read-Only  Memory）、フラッシュメモリ、ハードディスクデバイス、および／または他の形式のメモリを備えてもよい。
【００２７】
プロセッサ１５１は、メモリ１５３に格納されたソフトウェア命令を実行するように構成されてもよい。様々な実施の形態において、入力バッファ１５４はオーディオサンプルをオーディオ信号プロセッサ１２０から受信して格納するように動作可能である。トリガーエンジン（例えば高電力トリガーエンジン）１５５は、入力バッファ１５４に格納された入力オーディオストリームにおいてキーワード検知（言い換えれば、低電力トリガーエンジン１２５により検知されたキーワードを検証すること）を行うように動作可能である。図示されているように、トリガーエンジン１５５は、トリガーエンジン１２５よりロバスト性の高いトリガーエンジンであり、それ自体、より正確なキーワード検知と誤起動の検知とのために、より大きな処理能力とメモリとの要件で動作してもよい。コマンドプロセッサ１５６は、検証されたキーワードに続くコマンドを検知して実行するように動作可能である。様々な実施の形態において、コマンドプロセッサ１５６は、トリガーエンジン１５５で行われる起動検証なしで音声コマンド処理のためにオーディオサンプルを受信してもよい。
【００２８】
通信インタフェース１５２は、オーディオ処理装置１００とリモートサーバ１８１との間のデータの通信を容易にする。例えば、通信インタフェース１５２は、ネットワーク１８０（例えばインターネットまたはクラウド）を通るような、オーディオ処理装置１００と、リモートサーバ１８１にアクセスするネットワークを提供する１以上の無線ルータとの間のＷｉ−Ｆｉ（例えば８０２．１１）またはブルートゥース（登録商標）接続を可能にする。様々な実施の形態において、通信インタフェース１５２は、オーディオ処理装置１００と１以上のリモートサーバ１８１との間の直接または間接の通信を容易にする他の有線および無線通信コンポーネントを含んでもよい。
【００２９】
リモートサーバ１８１を、入力バッファ１５４に格納されたオーディオサンプルに見つけられるキーワードの検証と、コマンドの検知と実行とに、使用することを自由に選択してもよい。様々な実施の形態において、リモートサーバ１８１は、オーディオサンプル内のキーワードを検証するトリガーエンジン（例えば高電力トリガーエンジン）１８２と、検証されたキーワードに続くコマンドを検知して実行するコマンドプロセッサ１８３と、処理に必要なデータを格納するデータベース１８４とを含んでもよい。
【００３０】
動作中、ホスト１５０は、電力を節約するため非アクティブ状態のときスリープモードに入る。オーディオセンサアレイ１０５のマイクロフォン１０５ａ〜１０５ｎが周囲環境からオーディオ入力を受信する。オーディオセンサアレイ１０５は音波をマルチチャネル・オーディオ入力信号に変換し、マルチチャネル・オーディオ入力信号はオーディオ信号プロセッサ１２０のオーディオ入力回路部１２０に供給される。オーディオ入力回路部１２０は、オーディオ入力信号を処理して（例えば、環境ノイズを削除することでオーディオ入力信号を強調して）、オーディオサンプルを生成する。オーディオサンプルはデジタル信号プロセッサ１２３の遅延バッファ１２４とトリガーエンジン１２５とに供給される。一実施の形態において、マルチチャネル・オーディオ信号のただ１つのチャネルが、さらなる処理のためにトリガーエンジン１２５と遅延バッファ１２４とに供給される。
【００３１】
遅延バッファ１２４は続いてオーディオサンプルをリアルタイムでＦＩＦＯ準拠で格納する。遅延バッファ１２４がオーディオサンプルを格納している間、トリガーエンジン１２５は受信されたオーディオサンプルを解析して、少なくとも１つの予め決定されたキーワードの存在を検知する。トリガーエンジン１２５がキーワードを検知した後、デジタル信号プロセッサ１２３は起動コマンドをホスト１５０に送信して、ホスト１５０をスリープモードから起動する。１以上の実施の形態において、デジタル信号プロセッサ１２３とホスト１５０との間の通信はＵＳＢプロトコルまたは他のデータ送信プロトコルを使用して送信される。少なくとも１つの実施の形態において、起動コマンドは、ホスト１５０にオーディオサンプルの転送に使用される通信チャネルと異なる通信チャネル（例えば第２バス）上を送られてもよい。ホスト１５０は起動コマンドを受信した後、ホスト１５０は、スリープモードから起動するために起動シークエンスを実行し、オペレーションモードに移行する。その時、ホスト１５０は、デジタル信号プロセッサ１２３にオーディオサンプルの要求を送信することで、応答してもよい。
【００３２】
これに応じて、遅延バッファ１２４は格納されたオーディオサンプルをホスト１５０に転送する。一実施の形態において、遅延バッファ１２４に格納されたオーディオサンプルは、遅延バッファ１２４が空になるまで通信バスの下で可能な最大レートで送信され、その後、オーディオサンプルは遅延バッファ１２４から同じオーディオストリーム上をリアルタイムレートで送信される。
【００３３】
入力バッファ１５４は、送信されたオーディオサンプルを受信して、ファーストイン、ファーストアウト準拠で格納する。一実施の形態において、トリガーエンジン１５５は、オーディオサンプルを解析して、トリガーワードの存在を検証する。あるいは、オーディオサンプルがリモートサーバ１８１に配置されたトリガーエンジン１８２に送信されてもよい。トリガーエンジン１５５またはトリガーエンジン１８２は、オーディオサンプルを受信して、受信したオーディオサンプルにおいてキーワードの存在を検証する。キーワードが検証された後、キーワードに続くオーディオサンプルは、１以上の音声コマンドを検知し実行するため、コマンドプロセッサ１５６に転送される１以上の実施の形態において、トリガーエンジン１５５および／またはトリガーエンジン１８２は、代わりにまたは追加で、オーディオサンプルをリモートサーバ１８１に配置されたコマンドプロセッサ１８３に転送してもよい。
【００３４】
コマンドプロセッサ１５６および／またはコマンドプロセッサ１８３は、オーディオサンプルを自然言語として解析し、キーワードに続くコマンドを確認する。コマンドプロセッサ１５６および／またはコマンドプロセッサ１８３はコマンドを確認した後、ホスト１５０（またはサーバ１８１）はコマンドを実行する（例えば、スピーカー１１０ａとスピーカー１１０ｂとより出力されるオーディオ応答を送信する）。活動しない一定期間の後、ホスト１５０はデジタル信号プロセッサ１２３に、遅延バッファ１２４から入力バッファ１５４へのオーディオサンプルの転送を停止するために、停止コマンドを送信してもよい。ホスト１５０は停止コマンドを送信した後、ホスト１５０はスリープモードに入ってもよい。デジタル信号プロセッサ１２３は停止コマンドをホスト１５０から受信した後、デジタル信号プロセッサ１２３は、ホスト１５０へのオーディオサンプルの転送を停止して、入力オーディオ信号を遅延バッファ１２４に格納し続け、低電力トリガーエンジン１２５を用いて１以上のキーワードを検知する。
【００３５】
一実施の形態において、オーディオ処理装置は、オーディオ入力信号を受信し、第１データレートを有するオーディオサンプルのストリームを生成する動作が可能なオーディオ入力回路部１２１と、オーディオサンプルのストリーム内のキーワードを検知し、起動コマンドをホストデバイスにデータバスを介して送信する動作が可能なトリガーエンジン１２５と、オーディオサンプルのストリームをファーストイン、ファーストアウト準拠で格納する動作が可能な遅延バッファ１２４とを含む。データバッファは、ホストデバイス１５０からのデータ転送要求を受信し、次のオーディオサンプルを遅延バッファに格納していなくなるまで、ホストデバイス１５０に格納されたオーディオサンプルを、第１データレートより大きい第２データレートで送信するように動作可能である。格納されたオーディオサンプルが遅延バッファ１２４からホストデバイス１５０に送信された後、遅延バッファは、停止コマンドがホストデバイスから受信されるまでオーディオサンプルのストリームをホストデバイスに第１データレートで送信するように動作可能である。
【００３６】
図２は、１以上の実施の形態によるオーディオ信号プロセッサ２００とホスト２３５とを表した図である。オーディオ信号プロセッサ２００は、アナログ回路部と、デジタル回路部と、デジタル信号プロセッサが実装された論理を含む１以上の集積回路、例えば図１のオーディオ信号プロセッサ１２０として具現化される。図示されているように、オーディオ信号プロセッサ２００は、オーディオ回路部２１５と、デジタル信号処理および強調コンポーネント２２０と、遅延バッファ２２５と、トリガーエンジン２３０とを含む。１以上の実施の形態において、遅延バッファ２２５は循環遅延バッファでもよい。
【００３７】
ホスト２３５は、アナログ回路部と、デジタル回路部と、デジタル信号プロセッサが実装された論理を含む１以上の集積回路、例えば図１のホスト１５０として具現化されてもよい。図示されているように、ホスト２３５は、トリガーエンジン２５５と、コマンドプロセッサ２５６と、入力バッファ２４０とを含む。トリガーエンジン２５５は、トリガーエンジン２３０より高電力で、よりロバスト性の高いトリガーエンジンでよく、より正確なキーワードの検知を可能にする。
【００３８】
オーディオ信号プロセッサ２００は、マルチチャネル・オーディオ入力を少なくとも１つのオーディオセンサ、例えば少なくとも１つのセンサ２０５a〜２０５ｎを備えるマイクロフォンアレイ２０５から受信する。オーディオセンサ２０５ａ〜２０５ｎは、図１のオーディオ信号プロセッサ１２０のようなオーディオ処理デバイスで実装されたマイクロフォンでもよい。オーディオ信号は、最初にオーディオ入力回路部２１５に処理されてもよく、オーディオ入力回路部２１５はアンチエイリアシングフィルタ、アナログ−デジタル変換器、および／または他のオーディオ入力回路部を含んでよい。オーディオ入力回路部２１５は、Ｎチャネルを有するデジタル・マルチチャネル・オーディオ信号を出力し、Ｎはマイクロフォンの入力の数である。マルチチャネル・オーディオ信号がデジタル信号処理および強調コンポーネント２２０に送られ、デジタル信号処理および強調コンポーネント２２０は、環境ノイズを除去することで信号を強調するようにマルチチャネル・オーディオ信号を処理し、随意にオーディオ信号内のエコー成分を削除して、発話信号を分離したチャネルを少なくとも１つ生成する（例えば、ビームフォーミング技術、ブラインド信号源分離、または他のオーディオ強調技術が用いられる）。次に、強調オーディオ信号は遅延バッファ２２５とトリガーエンジン２３０とに供給される。遅延バッファ２２５は、続いて、強調オーディオ信号のサンプルをファーストイン、ファーストアウト準拠で格納するように動作可能である。トリガーエンジン２３０は、デジタル信号処理および強調コンポーネント２２０から強調オーディオ信号を受信するように動作可能であり、オーディオ信号内の少なくとも１つのキーワードを検知するように動作可能である。１以上の実施の形態において、トリガーエンジン２３０は、オーディオ信号内の言葉の開始と終了とを検索して、対応するオーディオ信号をメモリ内に格納された少なくとも１つのキーワードと比較して解析する。
【００３９】
トリガーエンジン２３０がキーワードを検知したとき、トリガーエンジンは起動コマンドをホスト２３５に送信して、ホスト２３５を低電力のスリープモードから起動させる。ホスト２３５が起動コマンドを受信した後、ホスト２３５は、起動シークエンスを実行してスリープモードから起動し、オペレーションモードに移行し、オーディオ信号プロセッサ２００にオーディオサンプルについての要求を送信することで応答する。これに応じて、オーディオ信号プロセッサ２００は格納されたオーディオサンプルを遅延バッファ２２５から入力バッファ２４０に転送する。一実施の形態において、格納されたオーディオサンプルは、オーディオ信号プロセッサ２００とホスト２３５とを接続するバスのプロトコルによる最大転送可能速度で転送される。格納されたオーディオサンプルがホストに転送された後、遅延バッファ２２５は、デジタル信号処理および強調コンポーネント２２０からオーディオサンプルを受信し続け、ホスト２３５にリアルタイムレートで転送し続ける。
【００４０】
一実施の形態において、入力バッファ２４０に格納されたオーディオサンプルは、キーワードの存在を検証するために、トリガーエンジン２５５に供給される。トリガーエンジン２５５がオーディオサンプルを受信した後、トリガーエンジン２５５はよりロバスト性の高いトリガーエンジン２５５を使用してキーワードの存在を検知して、キーワードの存在を検証する。キーワードを検知した後、検証されたキーワードに続くオーディオサンプル（言葉のコマンドを含んでもよい）は、音声コマンドプロセッサ２５６に供給される。
【００４１】
音声コマンドプロセッサ２５６は、オーディオサンプルにおける発話を認識して（例えば自然言語アルゴリズムを使用して）、検証されたキーワードに続く音声コマンドを検知する。コマンドプロセッサ２５６がコマンドを確認した後、ホスト２３５はコマンドを実行してもよい。様々な実施の形態において、コマンドは、システムコマンドを実行すること、メディアを検索して配信すること、スピーカー（例えば図１の１１０ａと１１０ｂとを参照）で出力されるオーディオ応答を送信すること、ユーザの質問への回答についてインターネットを検索すること、または、システム仕様に従った他のコマンドを実行することで、処理されてもよい。非アクティブの一定期間の後、ホスト２３５は、遅延バッファ２２５から入力バッファ２４０へのオーディオサンプルの転送を停止するために、停止コマンドをオーディオ信号プロセッサ２００に送信してもよい。ホスト２３５が停止コマンドを送信した後、ホスト２３５はスリープモードを再開してもよい。オーディオ信号プロセッサ２００が停止コマンドをホスト２３５から受信した後、オーディオ信号プロセッサ２００はホスト２３５へのオーディオサンプルの転送を停止する。
【００４２】
オーディオ信号プロセッサ２００を動作するための方法の一実施の形態において、マイクロフォンアレイ２０５からのオーディオ入力信号は、デジタル信号処理と強調コンポーネント２２０により受信され、音声強調オーディオサンプルのストリームを第１レートで生成するように処理される。音声強調オーディオサンプルは遅延バッファ２２５にファーストイン、ファーストアウト準拠で格納される。トリガーエンジン２３０は音声強調オーディオサンプル内のキーワードを検知する。格納された音声強調オーディオサンプルは、ホストデバイス２３５にデータバスを介して、第１レートより大きい第２レートで送信される。次に、生成された音声強調オーディオサンプルのストリームは、ホストデバイスから停止コマンドを受信するまで、ホストデバイスに第１レートで送信される。
【００４３】
図３は、１以上の実施の形態におけるオーディオ信号プロセッサの動作例を表したフローチャートである。ある実施の形態において、この方法は、図１におけるオーディオ処理装置１００のオーディオ信号プロセッサ１２０内の１以上のコンポーネントで実施されてもよい。この方法が開始されるとき、オーディオ信号プロセッサは、強調オーディオ信号（例えばオーディオサンプル）を生成するように、マルチチャネル・オーディオ信号を受信して処理する（３００）。次に、オーディオ信号プロセッサは強調オーディオ信号（例えばオーディオサンプル）をトリガーエンジンと遅延バッファとに送信する（３０２）。次に、オーディオ信号プロセッサは、トリガーワードを検知しているか否かを確認する（３０４）。オーディオ信号プロセッサはトリガーワードが検知されていないと確認すると、次にこの方法はステップ３００に移る。
【００４４】
トリガーワードが検知されているとオーディオ信号プロセッサが確認すると、次にステップ３０６において、オーディオ信号プロセッサは起動コマンドをホストに送信する。オーディオ信号プロセッサは、ステップ３０８において、オーディオデータの要求をホストから受信する。次に、オーディオ信号プロセッサの遅延バッファは、ステップ３１０において、リアルタイムより速いレートでホストに移される。その後、ステップ３１２において、遅延バッファに受信されたオーディオサンプルは、ホストにリアルタイムレートで転送される。オーディオ信号プロセッサは、ステップ３１４において、停止コマンドを受信しているかを確認する。オーディオ信号プロセッサが停止コマンドを受信していないと確認すると、次にこの方法はステップ３１２に移る。しかし、オーディオ信号プロセッサが停止信号を受信していると確認すると、次にステップ３１６において遅延バッファからホストへのデータの転送が停止される。次にこの方法は、ステップ３００に移り、繰り返される。
【００４５】
図４は、１以上の実施の形態におけるホストの動作例を表すフローチャートである。ある実施の形態において、この方法は、図１におけるオーディオ処理装置１００のホスト１５０内の１以上のコンポーネントで行われてもよい。この方法が開始されるとき、ホストはスリープモードに入る（４００）。ホストは、ステップ４０２において、起動コマンドを低電力プロセッサから受信して、起動シークエンスを実行する。ホストは、次にステップ４０４において、オーディオデータの要求を送信する。ホストは低電力プロセッサからオーディオデータを受信して（４０６）、ホストが現在のオーディオ入力ストリームに到達するまで、入力ストリームをリアルタイムより速いレートで処理する。次に、ホストは、ステップ４０８において、トリガーワードがオーディオサンプルに存在するかを確認する。トリガーワードが確認されないとホストが決定すると、この方法はステップ４００に移る。しかし、トリガーワードの存在が確認されたとホストが決定すると、ホストは音声コマンドとしてオーディオデータを処理する（４１０）。次にステップ４１２において、ホストは、音声コマンドを実行して、適切にユーザに応答する。非アクティブの一定期間の後、ステップ４１４において、ホストは、データの送信を停止するように、停止コマンドを低電力プロセッサに送信する。次にこの方法はステップ４００に移る。
【００４６】
適用できる場合、本開示で提示された様々な実施の形態を、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組み合わせを用いて実装してもよい。また、適用できる場合、本開示の範囲を逸脱することなく、本明細書で記載された様々なハードウェア構成要素および／またはソフトウェア構成要素をソフトウェア、ハードウェア、および／または両方を備える複合の構成要素に組み合わせてもよい。適用できる場合、本開示の範囲を逸脱することなく、本明細書で記載された様々なハードウェア構成要素および／またはソフトウェア構成要素を、ソフトウェア、ハードウェア、または両方を備える副構成要素に分離してもよい。加えて、適用できる場合、ソフトウェア構成要素をハードウェア構成要素として実装することが、またその逆が予期される。
【００４７】
本開示におけるソフトウェア、例えばプログラムコードおよび／またはデータを１以上のコンピュータの読み取り可能な媒体に格納してもよい。また、本明細書で明らかにされたソフトウェアが１以上の汎用目的または特定目的のコンピュータおよび／またはコンピュータシステム、ネットワーク、および／またはその他を使用して実装され得ることが予期される。適用できる場合、本明細書で説明された様々なステップの順番は、変更され、複合ステップに組み合わされ、および／または、サブステップに分離されて、本明細書に説明された特徴を提供してもよい。
【００４８】
前述の開示は、開示された方法の厳密な形態または特定の分野に本開示を限定することを意図していない。それ自体、様々な別の実施の形態および／または本開示への変更を、本明細書に明確に記載していようと暗示されていようと、本開示の真理内で実行できることが予期される。したがって、開示された本開示の実施の形態の説明があれば、当業者は、本開示の範囲を逸脱することなく、形式と詳細とを変更され得ることを認識できよう。したがって、本開示は請求項にのみ限定される。
【００４９】
本出願は、２０１７年１２月２９に出願された米国特許出願番号１５／８５９２４２、「ＶＯＩＣＥ  ＣＯＭＭＡＮＤ  ＰＲＯＣＥＳＳＩＮＧ  ＩＮ  ＬＯＷ  ＰＯＷＥＲ  ＤＥＶＩＣＥＳ」の優先権と利益とを主張し、参照によりその全体を本明細書に組み込む。
【図１】
2021508842.tif 000003
【図２】
2021508842.tif 000004
【図３】
2021508842.tif 000005
【図４】
2021508842.tif 000006
【国際調査報告】
2021508842.tif 000007
2021508842.tif 000008