(57)【特許請求の範囲】
【請求項１】
集積回路の第１の構成要素内のオーディオサンプルを、前記集積回路の残りの部分の電源が切断されている時間中に監視することであって、前記第１の構成要素は、前記時間中に電源がオンされ、かつ第１のクロックに従って動作している、ことと、
前記第１の構成要素によって前記オーディオサンプル内のキーフレーズを検出することと、
前記キーフレーズの検出に応じて前記集積回路の少なくとも一部分の電源を投入することと、
前記集積回路内で使用される第２のクロックが利用可能かどうか判定することであって、前記第２のクロックは、前記第１のクロックの対応する特性よりも、前記集積回路に対して高い性能／品質を示す少なくとも１つの特性を有する、ことと、
前記第２のクロックが利用可能であると判定された場合、切り替え中に閾値数を超えるオーディオサンプルが失われたり破損されたりすることがないことを保証しながら、前記第１の構成要素において前記第２のクロックに切り替えることと、
前記第１のクロックに従って動作する前記第１の構成要素によって、第１の複数の前記オーディオサンプルをキャプチャすることと、
前記第２のクロックに従って動作する前記第１の構成要素によって、第２の複数の前記オーディオサンプルをキャプチャすることと、
前記第１の複数の前記オーディオサンプルと前記第２の複数の前記オーディオサンプルとを、前記集積回路が接続されたメモリに書き込むことと、
前記メモリからの前記第１の複数の前記オーディオサンプルと前記第２の複数の前記オーディオサンプルとを単一のフレーズとして処理することと、
を含む方法。
【請求項２】
前記少なくとも１つの特性は、位相雑音を含む、請求項１に記載の方法。
【請求項３】
前記少なくとも１つの特性は、周波数精度を含む、請求項１に記載の方法。
【請求項４】
前記少なくとも１つの特性は、デューティサイクルを含む、請求項１に記載の方法。
【請求項５】
前記少なくとも１つの特性は、周期ジッタを含む、請求項１に記載の方法。
【請求項６】
前記処理することは、前記キーフレーズの検出に応じて電源が投入される前記集積回路の前記一部分の一部であるプロセッサによって実行される、請求項１に記載の方法。
【請求項７】
前記電源を投入することは、前記プロセッサ上でオペレーティングシステムをブートすることを含む、請求項６に記載の方法。
【請求項８】
前記集積回路内の発振器において前記第１のクロックを生成することを更に含む、請求項１に記載の方法。
【請求項９】
前記集積回路内の位相ロックループ（ＰＬＬ）において前記第２のクロックを生成することを更に含む、請求項８に記載の方法。
【請求項１０】
集積回路であって、
１つ以上のプロセッサと、
前記１つ以上のプロセッサに接続された第１の回路と、
を備え、前記第１の回路は、
前記１つ以上のプロセッサが電源を切断されている時間中に、電源が投入されたままであり、
前記１つ以上のプロセッサが電源を切断されている時間中に、１つ以上のオーディオ入力デバイスによってキャプチャされた第１の複数のオーディオサンプルを受信し、ここで、前記第１の回路は、前記１つ以上のプロセッサが電源を切断されている前記時間中に第１のクロックに従って動作し、
前記第１の複数のオーディオサンプル内の所定のパターンを検出し、
前記所定のパターンの検出に応じて、前記１つ以上のプロセッサの電源を投入させ、ここで、前記電源の投入に応じて、第２のクロックが有効化され、
前記第２のクロックが利用可能になったことに応じて、閾値数を超えるオーディオサンプルを欠落させることなしに前記第２のクロックに切り替え、
前記第２のクロックに従って動作しながら、前記１つ以上のオーディオ入力デバイスによってキャプチャされた第２の複数のオーディオサンプルを受信し、
前記第１の複数のオーディオサンプルと前記第２の複数のオーディオサンプルとを、前記集積回路が接続されたメモリに書き込み、
前記１つ以上のプロセッサは、前記メモリからの前記第１の複数のオーディオサンプルと前記第２の複数のオーディオサンプルとを単一のフレーズとして処理するように構成される、
集積回路。
【請求項１１】
前記所定のパターンは、１つ以上の単語の口頭による発語を含む音声を表す、請求項１０に記載の集積回路。
【請求項１２】
前記第１の回路に接続されたメモリコントローラを更に備え、前記第１の回路は、前記電源の投入に応じた動作のために前記メモリコントローラをプログラムするための１つ以上のメモリコントローラパラメータを、前記メモリコントローラに提供するように構成されている、請求項１０に記載の集積回路。
【請求項１３】
前記第１の回路は、前記第１の複数の前記オーディオサンプルと、前記電源の投入中及び投入後に受信された第２の複数のオーディオサンプルと、を記憶するように構成されたバッファを含む、請求項１０に記載の集積回路。
【請求項１４】
前記第２のクロックは、前記第１のクロックよりも使用中の位相雑音が小さい、請求項１０に記載の集積回路。
【請求項１５】
前記第２のクロックは、前記第１のクロックよりも５０％のデューティサイクルに近い、請求項１０に記載の集積回路。
【請求項１６】
前記第２のクロックの周期ジッタは、前記第１のクロックの前記周期ジッタよりも小さい、請求項１０に記載の集積回路。
【請求項１７】
前記第２のクロックの周波数精度は、前記第１のクロックの前記周波数精度よりも高い、請求項１０に記載の集積回路。
【請求項１８】
オーディオ入力デバイスと、
前記オーディオ入力デバイスに接続され、かつ前記オーディオ入力デバイスによって検出された音声からオーディオサンプルを生成するように構成されたオーディオ符号器／復号器（コーデック）と、
請求項１０に記載の集積回路と、
前記メモリと、
を備えるシステム。
【請求項１９】
前記集積回路は、前記第１のクロックを供給するオンチップ発振器と、前記第２のクロックを供給する位相ロックループとを含む、請求項１８に記載のシステム。
【請求項２０】
１つ以上のプロセッサによって実行可能な命令を有するコンピュータプログラムであって、前記命令は、前記１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに請求項１から９のいずれか１項に記載の方法を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で開示される実施形態は、モバイル機器の分野、より詳細には、モバイル機器の音声／オーディオ制御に関するものである。
【関連技術の説明】
【０００２】
モバイル機器は到る所に存在するようになってきている。モバイル機器とは、ポータブル電源（例えば電池）で動作するように、かつユーザによって容易に持ち運びされるように設計されたいかなる電子機器をも含みうる。携帯電話、「スマート」フォン、ｉＴｏｕｃｈ（登録商標）などのパーソナルデジタルアシスタント（ＰＤＡ）、ｉＰｏｄ（登録商標）及びＭＰ３プレーヤなどの娯楽機器、ラップトップコンピュータ、ネットトップコンピュータ、ｉＰａｄ（登録商標）及びＷｉｎｄｏｗｓ（登録商標）ベースのタブレットなどのタブレット機器などがモバイル機器に含まれうる。これらの機器の多くは、無線接続能力（例えば、ＷｉＦｉ、携帯電話網接続等）を有しているため、機器で直接実行可能なさまざまなローカルアプリケーションを提供するだけでなく、情報源としても利用することができる。
【０００３】
モバイル機器は、タッチスクリーン、機器の一部であるか又は機器に接続されたキーボード、種々のポインティング機器（例えば、マウス、タッチパッド、その他）などのユーザインタフェースによって、制御することができる。より最近では、音声制御が、より一般的になり始めている。例えば、アップル社のｉデバイス（ｉＰｈｏｎｅ（登録商標）、ｉＰａｄ（登録商標）など）のいくつかは、Ｓｉｒｉ（登録商標）アプリケーションによる音声制御を採用している。ユーザは、機器を取り上げ、ボタンを押したままにして、Ｓｉｒｉ（登録商標）の応答を待つことができる。Ｓｉｒｉ（登録商標）が応答すると、ユーザは口頭で質問をするか、又はコマンドを与えることができ、Ｓｉｒｉ（登録商標）はそれを解釈して応えようとする。Ｓｉｒｉ（登録商標）が応答するまでボタンを押し続ける動作は、機器をウェイクアップし（アイドル状態の場合）、オペレーティングシステムを初期化し、入力を受け付けできるようにＳｉｒｉ（登録商標）アプリケーションを有効化する役割を果たす。
【０００４】
モバイル機器の中には、機器がアイドル状態のときに、限られた音声コマンドの有効化機能を実装し始めたものがある。機器は、ユーザには「オフ」に見える場合（電子メール、電話、又はテキストメッセージなどの電子通信を受け付けうるため、機器がオンであることを、ユーザがたとえ知っているとしても）、アイドル状態であってよい。アイドル状態の機器は、通常、表示画面をオンにしておらず、多くの内部構成要素は、電源が切断されている可能性があり、機器が完全に機能するためには、それら内部構成要素の初期化が必要である。限られた音声コマンドの有効化機能を備えたモバイル機器では、ユーザは、機器を「オン」させ、より多くの音声制御を受け付けさせるためにキーワード又はフレーズを声に出すことができる。例えば、１つのかかるフレーズは、アンドロイドスマートフォンで使用されている「Ｈｅｙ  Ｇｏｏｇｌｅｎｏｗ」である。
【０００５】
限られたコマンドが有効化されると、ユーザは、キーフレーズを発話した後に休止し、更なる入力に対して機器の準備ができていることの視覚的及び／又は聴覚的な指示を待たなければならない。機器がアイドル状態にある間、機器は、マイクロフォンをオンにするとともに、ディスクリートなデジタル信号プロセッサ（ＤＳＰ）を用いて、キーワード／フレーズに聞き耳をたてている。一旦、キーワード／フレーズが認識されると、ＤＳＰは、機器の他の部分に、初期化（又はブート）するよう合図し、続いて、準備ができたときに、ユーザに応答する。このキーワード／フレーズの発話と、続く所望の質問／コマンドとの間の遅延により、インタフェースが扱いにくいものとなる。したがって、この限られたコマンドの有効化の方式は、上述したような、機器を持ち上げてボタンを押し続ける方式をわずかに改良するにすぎない。
【発明の概要】
【０００６】
ある実施形態では、一つの集積回路（例えば、システムオンチップ、即ちＳＯＣ）は、１つ以上の中央処理装置（ＣＰＵ）と、メモリコントローラと、ＳＯＣの他の部分が電源を切断された場合にも電源をオンされ続けるように構成された回路と、を含むことができる。本回路は、マイクロフォンによって感知された音声に対応するオーディオサンプルを受信するように構成され、更に、ＳＯＣを含む機器のユーザからのあり得るコマンドを検出するために、それらのオーディオサンプルを所定のパターンと比較するように、更に構成することができる。この所定のパターンは、例えば、キーワード又はフレーズを発話するユーザの声を表してもよい。本回路は、ＳＯＣの他の部分の電源が切断されている時間中に、第１のクロックに従って動作することができる。第１のクロックは、低電力クロックであってもよく、他のクロックよりも小さい電力及び低い性能であるさまざまな特性（例えば、大きい位相雑音、あまり対称ではないデューティサイクル、大きいジッタなど）を有してもよい。サンプル中に所定のパターンを検出したことに応じて、本回路は、メモリコントローラ及びプロセッサに電源を投入させ、メモリコントローラが接続されたメモリにオーディオサンプルを記憶し、プロセッサによってそれを処理することができる。電源投入プロセスの間、第１のクロックよりも１つ以上の良好な特性を有する第２のクロックが利用可能となり得る。本回路は、サンプルを保存しながら第２のクロックに切り替わることができる。一実施形態では、回路は、サンプル数の閾値より少ない数のサンプルを失うか、又は破損させてもよい。サンプルの閾値数は、システム内で実行される音声認識が、ユーザによって発せられたフレーズを正確に認識するのに必要な程度に少ない場合がある。例えば、最大４又は５個のサンプルが失われたり破損したりしても、正しく認識される場合がある。一実施形態では、たかだか１つのサンプルが失われただけで、閾値に合致することがある。別の実施形態では、サンプルが失われることはない。
【０００７】
以下の詳細な説明は、次に簡単に記述する添付の図面を参照する。
【図面の簡単な説明】
【０００８】
【図１】機器の一実施形態のブロック図である。
【図２】図１に示すオーディオフィルタ回路の一実施形態の動作を例示するフローチャートである。
【図３】一実施形態にかかる、オーディオフィルタ回路のクロック選択を例示するブロック図である。
【図４】図３に示される制御回路の一実施形態の動作を例示するフローチャートである。
【図５】メモリ１２に記憶されたフレーズの一実施形態のブロック図である。
【図６】図１に示される機器の一実施形態の動作を例示するタイミング図である。
【０００９】
この開示に記述する実施形態には、各種の変更形態及び代替形態の余地があり得るが、その具体的な実施形態を例として図面に示し、本明細書で詳細に説明する。しかし、図面及び図面に関する詳細な説明は、開示する特定の形態に実施形態を限定することを意図しておらず、むしろその意図は、添付の請求項の主旨及び範囲に含まれる全ての変更形態、均等形態、及び代替形態を網羅することであることを理解されたい。本明細書で使用する見出しは、構成を目的とするにすぎず、説明の範囲を限定するために使用することを意図してはいない。この出願を通して使用するとき、「〜し得る（may）」という語は、義務的な意味（即ち、〜しなければならない（must）を意味する）ではなく、許容的な意味（即ち、〜する可能性を有することを意味する）で使用される。同様に、単語「含む（include）」、「含む（including）」及び「含む（includes）」は、何かを含むことを意味するが、その何かに限定されることを意味していない。
【００１０】
各種のユニット、回路、又は他の構成要素は、１つ以上のタスクを実行「するように構成されている（configured to）」と記述され得る。かかる文脈において、「〜するように構成されている」は、動作中に１つ以上のタスクを実行する「回路を有する」ことを概ね意味する構造を広く記載するものである。したがって、ユニット／回路／構成要素は、ユニット／回路／構成要素が現在動作していなくても、タスクを実行するように構成され得る。概して、「〜するように構成されている（configured to）」に対応する構造を形成する回路は、ハードウェア回路、及び／又は操作を実行するために実行可能なプログラム命令を記憶するメモリを含んでもよい。メモリは、スタティックランダムアクセスメモリ若しくはダイナミックランダムアクセスメモリ等の揮発性メモリ、及び／又は光ディスク記憶装置若しくは磁気ディスク記憶装置、フラッシュメモリ、プログラム可能読み出し専用メモリ等の不揮発性メモリ等を含むことができる。同様に、さまざまなユニット／回路／構成要素は、説明の中で、便宜上、１つ以上のタスクを実行すると記述される場合がある。かかる説明は、「〜するように構成されている」というフレーズを含むと解釈されたい。１つ以上のタスクを実行するように構成されているユニット／回路／構成要素の記載は、そのユニット／回路／構成要素について米国特許法第１１２条（ｆ）の解釈を援用しないことを明示的に意図している。
【００１１】
この明細書は、「一実施形態」又は「ある実施形態」に対する参照を含む。特徴の任意の組合せを含む実施形態が概して意図されるが、本明細書で明示的に否定しない限り、「一実施形態で」又は「ある実施形態で」のフレーズの形態は、必ずしも同じ実施形態を指していない。特定の機能、構造又は特性は、この開示と整合する任意の好適な方法で組み合わされ得る。
【発明を実施するための形態】
【００１２】
次に図１を参照すると、機器５の一実施形態のブロック図が示されている。図示の実施形態では、機器５は、集積回路（ＩＣ）１０（この例では、ＳＯＣであり得る）を含んでもよい。ＳＯＣ１０は、メモリ１２、外部オーディオ符号器／復号器（コーデック）１６、及び電力管理ユニット（ＰＭＵ）２０に接続することができる。オーディオコーデック１６は、１つ以上の音声センサ（まとめてセンサ２６と呼ぶ）に接続することができる。例えば、オーディオコーデック１６は、１つ以上のマイクロフォン（ｍｉｃ）２６Ａ〜２６Ｂ、及び１つ以上のスピーカ（ｓｐｋｒ）２６Ｃ〜２６Ｄに接続してもよい。
【００１３】
名前が暗示するように、ＳＯＣ１０の構成要素は、集積回路「チップ」として、単一の半導体基板上に集積され得る。いくつかの実施形態では、構成要素は、システム内の２つ以上の個別のチップ上に実装され得る。更に、さまざまな構成要素を、任意の集積回路（即ち、ＳＯＣである必要はない）上に集積化してもよい。しかし、本明細書では、ＳＯＣ１０を例として使用する。図示の実施形態では、ＳＯＣ１０の構成要素には、中央処理装置（ＣＰＵ）複合体１４、周辺構成要素１８Ａ〜１８Ｂ（より簡単には、「周辺機器」）、メモリコントローラ２２、オーディオフィルタ回路２４、電力管理回路（ＰＭＧＲ）２８、オンチップ発振器３６、位相ロックループ（ＰＬＬ）３８、及び通信ファブリック２７が含まれる。構成要素１４、１８Ａ〜１８Ｂ、２２、２４、及び２８は、全て、通信ファブリック２７に接続することができる。メモリコントローラ２２は、使用中にメモリ１２に接続され得る。同様に、周辺機器１８Ａは、使用中に、オーディオコーデック１６に接続されたインタフェースユニット（ＩＦＵ）とすることができ、オーディオコーデック１６は、更に、使用中に、オーディオセンサ２６に接続される。ＩＦＵ１８Ａは更にオーディオフィルタ回路２４に接続される。発振器３６及びＰＬＬ３８は、オーディオフィルタ回路２４に接続され、ＰＬＬ３８は、ＳＯＣ１０の他の部分にも接続され得る。
【００１４】
機器５は、携帯電話、スマートフォン、ＰＤＡ、ラップトップコンピュータ、ネットトップコンピュータ、タブレット機器、娯楽機器、その他、等のいかなる種類の携帯用電子機器であってもよい。いくつかの実施形態では、機器５は、デスクトップコンピュータなどの非携帯用電子機器とすることもまたできる。かかる非携帯用機器もまた、本明細書に記載されたオーディオ機器制御機能から恩恵を得ることができる。
【００１５】
機器５がアイドル状態である時間中に、ＳＯＣ１０の一部分の電源を切断してもよい。特に、ＣＰＵ複合体１４、メモリコントローラ２２、周辺機器１８Ｂ、相互接続２７、ＰＬＬ３８、及びＰＭＧＲ２８の一部分は、電源を切断することができる。一方、機器５がアイドル状態であるが、完全には電源が切断されない場合、オーディオフィルタ回路２４は、ＩＦＵ１８Ａ及び発振器３６と同様に、電力供給され続けてもよい。機器５がアイドル状態にあるとき、ＳＯＣ１０の外部にある構成要素は、必要に応じて、電源投入されているか、又は切断することができる。特に、メモリ１２は、電力を供給され続け、したがって、そこに記憶されたデータを保持することができる。メモリ１２が、さまざまな種類のうちの１つの種類のＤＲＡＭである実施形態では、メモリ１２は、機器５がアイドル状態である時間中に記憶されたデータを保持するために、セルフリフレッシュモードにすることができる。
【００１６】
ＰＬＬ３８及び発振器３６は、図示された実施形態では各々クロック源であり、ＳＯＣ１０内のデジタル論理のクロックを提供する。ＰＬＬ３８は、オーディオフィルタ回路２４、ＩＦＵ１８Ａ、及び発振器３８以外のＳＯＣ１０の部分の電源がオンされている動作中のクロック源とすることができる。ＰＬＬ３８は、高性能で高品質のクロックをオーディオフィルタ回路２４に供給することができる。ＰＬＬ３８はまた、高性能で高品質のクロックをＳＯＣ１０の他の部分に提供してもよい。１つ以上のクロックが提供されてもよく、場合によっては、ＳＯＣ１０内の異なる構成要素へのクロックが異なる周波数を有してもよい。したがって、ＰＬＬ３８は複数のＰＬＬであってもよく、又はＰＬＬからクロックを生成するためにさまざまなクロック分周器／乗算器を使用してもよく、又はＰＬＬとクロック分周器／乗算器との任意の組み合わせを使用することができる。一方、ＳＯＣ１０の一部分の電源が切断されているアイドル時間中に、発振器３６は、低電力クロックをオーディオフィルタ回路２４に提供することができる。発振器３６は、リング発振器などの比較的単純な低電力回路であってもよい。発振器３６は、アイドル時間中に、更にＳＯＣ１０の他の構成要素が電源投入されているときに、電源がオンであってもよく、あるいは、他の構成要素の電源が投入されているときに、電源がオフであってもよい（かかる時間中に、ＰＬＬ３８がクロックを供給することができるので）。
【００１７】
一般に、クロックは、理想的なクロックとの近さに基づいて、より高い又はより低い品質又は性能であると見なすことができる。理想的なクロックは、固定周波数及び５０％デューティサイクルを有する矩形波であってもよい。固定周波数は、選択可能であってもよいが、ノイズ、温度、電圧変動などに関して不変とすることができる。言い換えれば、周波数が一定であり、立ち上がりエッジ及び立ち下がりエッジがクロックサイクルごとに不変とすることができる。実際のクロックは理想的なクロックとはさまざまな度合いで異なり、高品質／高性能のクロックは、理想的なクロックと、低品質のクロックよりも少ない量だけしか異なり得ない。
【００１８】
クロックのさまざまな特性は、その品質又は性能を示すことができる。例えば、クロックの位相雑音は特性となり得る。位相雑音は、クロックの位相における急速で短期間のランダムな変動の周波数領域表現であってもよい。大量の位相雑音を有するクロックを使用してアナログデジタル変換器又はデジタルアナログ変換器を動作させると、その変換器のオーディオ性能が低下する恐れがある。ＰＬＬ３８のクロックは、発振器３６のクロックよりも小さい位相雑音を有することができる。不正確な周波数は、予期しない音楽ピッチの変動をもたらす可能性があるので、国際時間基準と比較したクロック周波数の長期平均の精度は、例えば、その品質／性能の特性となり得る。ＰＬＬ３８のクロックは、発振器３６のクロックよりも、良好な周波数精度を有することができる。大きな周期ジッタは、ＳＯＣ１０のデジタル論理設計におけるクロックサイクルの有用部分を損なうので、クロックの周期ジッタは、その品質／性能の特性となり得る。したがって、小さい周期ジッタは、高い品質／性能のクロック特性となり得る。ＰＬＬ３８のクロックは、発振器３６のクロックよりも、小さい周期ジッタを有することができる。クロックのデューティサイクルは、その品質／性能の特性となり得る。対称なデューティサイクル（５０％高、５０％低）は、クロックのどちらか一方の遷移に関連付けられた回路を含む設計にとって、好ましいデューティサイクルであり得る。したがって、クロックの高段階及び低段階が５０％で平衡し得るので、５０％に近いデューティサイクルは高品質特性となり得る。ＰＬＬ３８のクロックのデューティサイクルは、発振器３６のクロックのデューティサイクルよりも、５０％に近くなり得る。
【００１９】
アイドル時間中に、オーディオフィルタ回路２４は、オーディオコーデック１６から、ＩＦＵ１８Ａを介して、オーディオサンプルを受信するように構成され、サンプル中に所定のパターン（例えば、ユーザの発話したコマンド又は要求に応えるために機器５をウェイクアップさせるキーワード／フレーズ）を検出しようと試みることができる。所定のパターンは、オーディオフィルタ回路２４にプログラムされてもよいし、又はオーディオフィルタ回路２４にハードコード化されてもよい。ある実施形態では、所定のパターンは、キーワード／フレーズを口頭で発話しているユーザからキャプチャすることができ、ユーザ固有の声に機器５をトレーニングする。別の実施形態では、所定のパターンは、さまざまな抑揚、音質などで話されるようなキーワード／フレーズを表す一般的なパターンである。キーフレーズの検出は、発振器３６の低電力クロックで実行することができる。
【００２０】
パターンの検出に応じて、オーディオフィルタ２４は、メモリコントローラに電源投入させて初期化させるように（一致するサンプル及び後続のサンプルをメモリに記憶することができるように）構成してもよいし、更に、ＣＰＵ複合体１４（及び、実施態様に応じて、場合によっては、ＳＯＣ１０の他の部分も）に電源投入させてオペレーティングシステムをブートさせるように構成してもよい。ある実施形態では、メモリコントローラ２２は、比較的迅速に、電源投入することができる。ＰＬＬ３８がロックされ、更に、メモリコントローラ２２が初期化されるが、それは、オペレーティングシステムのブートアップよりも短い、かなり予測可能な遅延しか生じない。相互接続２７は、同様に電源投入することができ、これによって、オーディオフィルタ回路２４は、以下に述べるパラメータと、サンプルを書き込むメモリ書き込み動作と、をメモリ１２に送信することができる。オーディオフィルタ回路２４は、サンプルバッファ３０を含んでもよく、所定のパターンと比較するために、オーディオフィルタ回路２４は、サンプルバッファ３０にサンプルを一時的にバッファし、一旦パターンが検出されると、メモリコントローラ２２がメモリ１２への書き込みを受信する準備ができるまで、更に、サンプルをバッファするように、構成してもよい。したがって、サンプルバッファ３０の大きさは、そのパターンを検出してから、メモリコントローラ２２の準備が整うまでの遅延に基づくこととなる。いくつかの実施形態では、サンプルバッファ３０は、所定のパターンに一致するサンプルと、メモリコントローラの準備が整うまでの遅延に基づいて、続いて受信されたサンプルと、所定のパターン（即ち、キーワード／フレーズ／音声）と一致するサンプルの前の１つ以上のサンプルと、のバッファリングを可能にする大きさにすることができる。この一致する前のサンプルは、マイクロフォンによりキャプチャされた背景雑音を判断するために処理することができ、これによって、後続サンプルのより正確な処理に役立てることができる。
【００２１】
ＰＬＬ３８が電源を投入されてロックされると、オーディオフィルタ回路２４は、発振器３６の低電力クロックからＰＬＬ３８の高性能高品質クロックに切り替えることができる。この切り替えは不具合がなく、高品質クロックの数クロックサイクル（例えば３以下）にわたって、切り替えが生じ得る。切り替えの時間期間は、オーディオサンプルのサンプル時間よりもずっと短くすることができる。したがって、切り替えの間に、多くても１つのオーディオサンプルしか失われ得ない（損失の可能性は低くなり得る）。オーディオサンプルは、そのサンプルに含まれていないと、失われている可能性がある。オーディオサンプルも破損している可能性がある（即ち、サンプルには含まれているが、正確なサンプルではない）。切り替え中に、多くてもサンプル数の閾値しか破損しない可能性がある。一実施形態では、多くても１つのサンプルしか失われない可能性がある。あるいは、オーディオフィルタ回路２４は、新しいサンプルの到着に近くない時間に切り替えが発生することを確実にするように構成され、サンプル損失が確実にないようにする。高性能で高品質のクロックで動作させることにより、オーディオフィルタ回路２４内のサンプルの追加処理、並びにメモリ１２などへのサンプルの高帯域伝送を可能にすることができる。
【００２２】
いくつかの実施形態では、メモリコントローラ２２は、進歩したＤＲＡＭ技術をサポートすることができ、これは、メモリコントローラ２２及びメモリ１２を両者間のリンク上で適切に同期するようにトレーニングすることを含む。メモリコントローラ２２の構成パラメータは、トレーニングによって直接ハードウェアによって、又はソフトウェアによって、メモリコントローラ２２の中にプログラムすることができる（参照番号３４Ａ）。オーディオフィルタ回路２４からメモリコントローラ２２をより迅速に動作状態に復帰させるために、オーディオフィルタ回路２４は、パラメータ（参照番号３４Ｂ）をシャドウイングしてもよい。あるいは、パラメータ３４Ｂは、ＤＲＡＭの全てのバージョン及び、機器１０の全ての動作条件にわたって適切に動作することが知られている、一般的なパラメータのセットとすることができる。オーディオフィルタ回路２４は、パラメータ３４Ｂをメモリコントローラ２２に転送し、メモリコントローラがメモリ１２に書き込めることを確実にすることができる。
【００２３】
ＣＰＵは、オペレーティングシステムの実行を開始し、ＳＯＣ１０が再起動している理由は、オーディオフィルタ２４がキーワード／フレーズを検出したことであると判断することができる。ＣＰＵは、メモリ１２からサンプルを読み出し、キーワード／フレーズが実際に検出されたことを検証することができる。例えば、いくつかの実施形態では、オーディオフィルタ２４は、ＣＰＵにより実行されるコードによってサポートすることができるよりも、より単純であり、より粒度の粗い（より正確でない）比較処理を使用することがある。ＣＰＵは、符号を検出したことを検証することができ、受信されたオーディオサンプルの残りの処理に進んで、キーワード／フレーズの後に話されたコマンド／要求を判断することができる。サンプルが低電力クロック及び高性能クロックを使用して受信されたとしても、検出されたサンプルは、ＣＰＵによる処理のためにサンプルの連続ストリームとして処理されてもよい。
【００２４】
別の実施形態では、ＣＰＵ複合体１４は、メモリコントローラ２２と並列にウェイクアップされなくてもよい。例えば、いくつかの実施形態では、オーディオフィルタ回路２４は、後続のサンプルの処理を実行する（が、メモリ１２内でサンプルを記憶するスペースを利用するために、メモリコントローラ２２の電源を投入してもよい）ように構成することができる。別の実施形態では、オーディオフィルタ回路２４は、機器５がアイドル状態であるときに、他の動作を実行するように構成されてもよく、オーディオフィルタ回路２４は、これら動作のいくつかを記憶するためにメモリ１２を使用することができる。かかる実施形態では、ＣＰＵ複合体１４を電源投入することなく、メモリコントローラ２２の電源を投入することができる。
【００２５】
ＳＯＣ１０の種々の構成要素を電源投入することは、ＰＭＵ２０との通信を含む場合がある。ある実施形態では、オーディオフィルタ回路２４は、他のＳＯＣ回路部を電源投入させるために、ＰＭＵ２０と通信するように構成することができる。あるいは、ＳＯＣ１０のさまざまな構成要素の電源を投入／切断するために、オンチップ電力ゲーティングを実装してもよい。内部のＰＭＧＲ２８は、オンチップ電力ゲーティングを実装するように構成されてもよく、オーディオフィルタ回路２４は、ＰＭＧＲ２８と通信して電源投入させるように構成することができる。更に他の実施形態では、ＰＭＧＲ２８とＰＭＵ２０との組み合わせを使用してもよい。更に別の実施形態では、ＰＭＧＲ２８は、ＰＭＵ２０と通信するように構成することができ、オーディオフィルタ回路２４は、電源投入要求をＰＭＧＲ２８に伝達し、必要に応じて、ＰＭＧＲ２８はＰＭＵ２０と通信することができる。
【００２６】
サンプルバッファ３０とメモリ１２との間で、マイクロフォン（単数又は複数）２６Ａ〜２６Ｂからの音声データのサンプルの損失は、ほとんど又は全くなくすることができる。したがって、ユーザは、キーワード／フレーズを発話し、いかなる躊躇も必要なく、続けて要求／コマンドを発話することができる。
【００２７】
さまざまな実施形態では、オーディオフィルタ回路２４は、固定されたハードウェア、及び／又はソフトウェアを実行する１つ以上のプロセッサ、の任意の組み合わせを含んでもよい。ソフトウェアは、オーディオフィルタ回路２４に含まれる（例えば、オーディオフィルタ回路２４の不揮発性メモリに記憶された）ファームウェアであってもよい。あるいは、ファームウェアは、実行のためにアクセスできるように、機器５内の他の不揮発性記憶機器に含まれてもよい。固定されたハードウェア実装が用いられる場合、サンプルパターンは、固定されたハードウェアへの入力として、プログラム可能とすることができる。かかるプログラム化の可能性は、異なるキーワード／フレーズ／音声の使用が可能となり、複数の言語をサポートすることができる。固定したハードウェアオーディオフィルタ回路２４を実装すると、ソフトウェアを実行するプロセッサが提供し得るよりも、オーディオサンプルの監視に対して、より電力効率のよい解決策を提供することができる。
【００２８】
なお、ここでの説明は、コマンドモードを有効化するために使用することができるキーワード又はフレーズに言及しているが、一般的には、任意の音声（例えば、笛、拍手、非言語的経口発生音、その他）を、さまざまな実施形態で使用することができることに留意されたい。
【００２９】
本明細書で使用される場合、「電源投入（power up）」という用語は、現在は電源切断（又は電源オフ）状態にある回路に電力を印加することを指し得る。いくつかの実施形態では、所定の回路は、２以上の電力状態（例えば、電圧及び周波数の組み合わせ）をサポートすることができる。電源投入は、回路によってサポートされた電力状態のいずれかを設定することを指す場合がある。電源投入（powering up）は、電源オン（powering on）と呼ぶこともまたできる。「電源切断（power down）」又は「電源オフ（power off）」という用語は、電源供給電圧の大きさを（接地に対して）０Ｖに低減することを指し得る。
【００３０】
オーディオコーデック１６は、オーディオデータの一般的な符号器／復号器とすることができる。このコーデックは、マイクロフォン２６Ａ〜２６Ｂから受信された信号を、ＳＯＣ１０に送信することができるデジタルサンプルに変換するように構成されたアナログデジタル変換器を含んでもよい。コーデックは、ＳＯＣ１０からデジタルオーディオデータを受信して、デジタルオーディオデータをアナログ信号に変換してスピーカで再生するように構成されたデジタルアナログ変換器を含んでもよい。ある実施形態では、オーディオコーデック１６は、機器５がアイドル状態である時間中に使用することができる１つ以上の低電力モードをサポートしてもよい。例えば、オーディオコーデック１６は、開放された（又は「オン」の）マイクロフォンの数を減少させ、スピーカをオフにすることができる。いくつかの実施形態では、オーディオサンプルレートは、低電力モードにおいて、減少させることができる。
【００３１】
ＣＰＵ複合体１４は、ＳＯＣ１０のＣＰＵとして機能する１つ以上のプロセッサを含むことができる。本システムのＣＰＵは、オペレーティングシステムなどの、システムの主制御ソフトウェアを実行するプロセッサ（単数又は複数）を含む。概して、使用中にＣＰＵによって実行されるソフトウェアは、機器５の所望の機能を実現する、機器５／ＳＯＣ１０の他の構成要素を制御することができる。ＣＰＵプロセッサはまた、アプリケーションプログラムなどの、他のソフトウェアを実行することもできる。アプリケーションプログラムは、ユーザ機能を提供することができ、より下位のデバイス制御に関してオペレーティングシステムに依存し得る。したがって、ＣＰＵプロセッサは、アプリケーションプロセッサと呼ぶこともできる。ＣＰＵ複合体は、レベル２（Ｌ２）キャッシュ、及び／又は、システムの他の構成要素とのインタフェース（例えば、通信ファブリック２７とのインタフェース）などの、他のハードウェアを更に含んでもよい。
【００３２】
周辺機器１８Ａ〜１８Ｂは、ＳＯＣ１０内に含まれる追加ハードウェア機能の任意のセットであり得る。より具体的には、周辺機器１８Ａは、オーディオコーデック１６と接続するように構成されたインタフェースユニットであってもよい。任意のインタフェースを用いてもよい（例えば、シリアル周辺インタフェース（ＳＰＩ）、シリアル又はパラレルポート、オーディオコーデック１６用の独自のインタフェース、その他）。周辺機器１８Ｂは、ビデオ符号器／復号器、スケーラ、回転器、ブレンダー、グラフィックス処理ユニット、ディスプレイコントローラ、その他、などのビデオ周辺機器を含むことができる。周辺機器としては、ユニバーサルシリアルバス（ＵＳＢ）、ＰＣＩエクスプレス（ＰＣＩｅ）を含む周辺構成要素相互接続（ＰＣＩ）、シリアルポート及びパラレルポート、その他などのインタフェースを含む、ＳＯＣ１０の外部の種々のインタフェースに関するインタフェースコントローラを挙げることができる。周辺機器は、メディアアクセスコントローラ（ＭＡＣ）などのネットワーク周辺機器を含んでもよい。ハードウェアの任意のセットが含まれ得る。
【００３３】
メモリコントローラ２２は、ＳＯＣ１０の他の構成要素からメモリ要求を受信するため、及び、メモリ要求を完了する目的でメモリ１２にアクセスするため、の回路を通常含むことができる。メモリコントローラ２２は、任意の種類のメモリ１２にアクセスするように構成され得る。例えば、メモリ１２は、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダブルデータレート（ＤＤＲ、ＤＤＲ２、ＤＤＲ３、その他）ＤＲＡＭを含む同期ＤＲＡＭ（ＳＤＲＡＭ）などのダイナミックＲＡＭ（ＤＲＡＭ）であってもよい。ＤＤＲ  ＤＲＡＭの低電力／モバイルバージョンをサポートすることができる（例えば、ＬＰＤＤＲ、ｍＤＤＲ、その他）。いくつかの実施形態では、メモリ１２は、ＳＯＣ１０とは別個に（例えばシングルインラインメモリモジュール（ＳＩＭＭ）、デュアルインラインメモリモジュール（ＤＩＭＭ）、又は、ＳＯＣ１０が実装された回路基板に搭載された１つ以上のＤＲＡＭチップに）実装されてもよい。他の実施形態では、メモリ１２は、ＳＯＣ１０と共に実装されてもよい（例えば、パッケージオンパッケージ又はチップオンチップ構成で）。
【００３４】
通信ファブリック２７は、ＳＯＣ１０の構成要素間で通信するための任意の通信相互接続及び通信プロトコルであり得る。通信ファブリック２７は、共有バス構成、クロスバー構成、及びブリッジを有する階層化バス、を含むバスベースであり得る。通信ファブリック２７は、またパケットベースとすることができ、ブリッジを有する階層構造、クロスバー、ポイントツーポイント、又は他の相互接続とすることができる。
【００３５】
上述したように、電力管理回路２８は、ＳＯＣ１０内の内部電源順序制御を管理することができる。電力管理回路２８は、機器５の計算上の需要と電力消費をバランスさせるために、ＳＯＣ１０内のさまざまな構成要素のさまざまな電力／性能状態を設定するように、構成することができる。電力管理回路２８は、所望の電力／性能状態にプログラム可能であってもよいし、プログラムされた状態に基づいて、さまざまな構成要素の電源ＯＮ／ＯＦＦ、及びクロック周波数設定を管理してもよい。
【００３６】
ＰＭＵ２０は、ＳＯＣ１０、オーディオコーデック１６、周辺機器２６Ａ〜２６Ｄ、及びメモリ１２を含む機器５の構成要素に、電力を供給する役割を全般的に果たすことができる。ＰＭＵ２０は、構成要素の少なくとも一部（例えば、ＳＯＣ１０）から、電圧値の要求を受信するように接続されてもよく、更に、要求された電圧を供給するように構成された電圧レギュレータを備えてもよい。ＳＯＣ１０は、複数の電圧（例えば、ＣＰＵ複合体１４用のＣＰＵ電圧、キャッシュなどのＳＯＣ１０のメモリアレイ用のメモリ電圧、ＳＯＣ電圧又はＳＯＣの他の構成要素用の電圧、その他）を受け取ることができる。
【００３７】
マイクロフォン２６Ａ〜２６Ｂは、音声を受信し、受信した音声を表す出力信号を提供することができる任意の機器としてもよい。いくつかの場合には、２つ以上のマイクロフォンが望ましい場合がある。例えば、ビデオ機能を有するスマートフォン内には、音声通話の場合に、ユーザの口の近くにマイクロフォンを内蔵することが望ましいだけでなく、撮影の対象から音声をキャプチャするためには、ビデオカメラの近くにマイクロフォンを内蔵することが望ましい。任意の数のマイクロフォンが、さまざまな実施形態に内蔵されていてもよく、内蔵マイクロフォンのうちの任意の数のものが、機器５がアイドル状態である場合に、開放されていてもよい。
【００３８】
スピーカ２６Ｃ〜２６Ｄは、入力信号を受信し、この信号により表される音声を生成可能な任意の機器とすることができる。いくつかの場合には、２つ以上のスピーカが望ましい場合がある。例えば、複数のスピーカによって、ステレオタイプの音響効果が可能となり、機器の向きに基づいて最適化される音声の生成が可能になり得る。任意の数のスピーカを、さまざまな実施形態に含むことができる。
【００３９】
ＳＯＣ１０の構成要素の数（及びＣＰＵ複合体１４内などの、図１に示すものに関する下位構成要素の数）が実施形態によって異なり得ることに留意されたい。各構成要素／下位構成要素の数は、図１に示すよりも多くても少なくてもよい。同様に、ＳＯＣ１０の外部であるが機器５の中にある構成要素の種類及び数は、変動する可能性があり、図１に示されていない他の構成要素（例えば、視覚インタフェースをユーザに提供するタッチディスプレイなどのディスプレイ、ネットワーク構成要素、アンテナ、ＷｉＦｉ又は携帯電話の構成要素などの無線周波構成要素、その他）が含まれてもよい。
【００４０】
次に図２を参照すると、電力を節約するために、ＳＯＣ１０（又は、少なくとも、ＣＰＵ複合体１４及びメモリコントローラ２２）の電源が切断されている時間中（例えば、機器５がアイドル状態であるとき）の、機器５のオーディオフィルタ回路２４及び特定の他の部分、の一実施形態の動作を例示するフローチャートが、示されている。理解を容易にするために、特定の順序でブロックを示しているが、他の順序を用いてもよい。ブロックは、オーディオフィルタ回路２４内の組み合わせ論理回路によって、並列に（図２に明示的に並列に示されているブロック及び場合によっては他のブロックを含む）実行することができる。ブロック、ブロックの組み合わせ、及び／又はフローチャート全体は、複数のクロックサイクルにわたって、パイプライン化することができる。ブロックは、いくつかの実施形態では、ソフトウェアを実行するプロセッサによって実施されてもよく、又はブロックは、固定されたハードウェア、又はそれらの任意の組み合わせであってもよい。オーディオフィルタ回路２４は、図２に示す動作を実行するように構成することができる。
【００４１】
オーディオフィルタ回路２４は、オーディオコーデック１６から、サンプルバッファ３０の中に、１つ以上のオーディオサンプルを受信し（ブロック４０）、機器５の音声コマンドモードを有効化するために、キーワード／フレーズ／音声として使用される所定のパターンと、サンプルを比較する（ブロック４２）ことができる。一致がない場合には（判断ブロック４４の「いいえ」の脚）、オーディオフィルタ回路２４は、サンプルバッファ３０にサンプルを受信し、サンプルを比較し続けることができる。サンプルバッファ３０が一杯になると、サンプルバッファ３０は、最も古いサンプルを新しいサンプルで上書きしてもよい。即ち、サンプルのＮ個（Ｎは正の整数）のエントリを有するサンプルバッファ３０は、任意の所定の時刻に、最新のＮ個のサンプルを有することができる。
【００４２】
一致（判断ブロック４４の「はい」の脚）の検出に応じて、オーディオフィルタ回路２４は、ＣＰＵ複合体１４及びメモリコントローラ２２の電源が投入されることを要求する（ブロック４６）ように構成してもよい。この要求は、実装に応じて、ＰＭＵ２０か、ＰＭＧＲ２８か、又は両者の組み合わせに送信することができる。前述したように、他の実施形態では、メモリコントローラ２２だけの電源を投入することができる。あるいは、メモリコントローラ２２の電源を最初に投入し、続いて、ＣＰＵ複合体１４の電源を投入してもよい。ＣＰＵ複合体１４と並行した、メモリコントローラ２２（及びファブリック２７）の電源投入が、投入中に、電流の許容量を超える（いわゆる「突入電流」）可能性を有する場合に、かかる時間をずらした電源投入を使用することができる。
【００４３】
メモリコントローラ２２が電源投入され、オーディオフィルタ回路２４からのメモリコントローラパラメータ３４Ｂを、メモリコントローラ２２内のパラメータ３４Ａに復元する（ブロック４８）ことができる。パラメータ３４Ｂが、（メモリコントローラ２２の電源を切断する前に）メモリコントローラ２２で使用していた最新のパラメータ３４Ａのシャドウである場合、そのパラメータは、「復元」することができる。上述したように、別の実施形態では、パラメータ３４Ｂは、メモリ１２への正常なアクセスを可能にはするが最大性能のために最適化されていない一般的な「既知の良好な」パラメータのセットとしてもよい。この場合、パラメータを「復元する」とは、パラメータ３４Ａとして、この一般的なパラメータ３４Ｂを設定することをいう。続いて、メモリコントローラ２２は、メモリ１２向けにトレーニングされる場合があり、パラメータを修正することができる。ある実施形態では、オーディオフィルタ回路２４は、一致したサンプル及び後続サンプルを、サンプルバッファ３０から、メモリコントローラ２２を介して、メモリ１２に書き込み、動作がＣＰＵ複合体１４によって終了されるまで、サンプルの書き込みを継続することができる（ブロック５０）。
【００４４】
更に、ＣＰＵ複合体１４のプロセッサが電源投入され、リセットされた後に、オペレーティングシステムでブートすることができる（ブロック５２）。ＣＰＵ複合体１４上で実行するオペレーティングシステムは、メモリ１２に記憶されたサンプルを処理し、キーワード／フレーズ／音声が確かに検出されたことを確認し、ユーザの要求が何であるかを判断することができる。機器５は、コマンド／要求（ブロック５４）の実行に取りかかることができる。
【００４５】
オペレーティングシステムのブートは、ＳＯＣ１０のさまざまな構成要素を試験しプログラムすることを含むので、メモリコントローラ２２の電源投入及び復元と比較して、時間を要するタスクとなる恐れがある。オペレーティングシステムは、ブート処理の早い段階で、ブートの理由が、キーワード／フレーズ／音声の検出によるか否かをチェックするように設計することができ、検出を検証するために、少なくとも、キーワード／フレーズ／音声を表すサンプルを処理してもよい。オペレーティングシステムは、オーディオフィルタ回路２４による検出が誤りであったと判断した場合には、オペレーティングシステムはブート処理を中断し、機器５をアイドル状態に戻す（ＣＰＵ複合体１４及びメモリコントローラ２２の電源をオフにする）ことができる。
【００４６】
フローチャートの一部は、低電力クロック（図２の水平な点線５６より上）で動作するオーディオフィルタ回路によって実行され、残りの部分（点線５６より下）は高品質クロックで実行されてもよい。低電力クロックから高品質クロックへの実際の遷移は、高品質クロックが利用可能になる（例えば、ＰＬＬ３８がロックされ、周波数が安定しているなど）と発生し得る。したがって、実際の遷移は、例えば、プロセッサのリセット（ブロック５２）及びメモリパラメータの復元（ブロック４８）の最中に起こり得る。
【００４７】
図３は、発振器３６、ＰＬＬ３８、ｍｕｘ６２、及び制御回路６０を例示するブロック図である。ｍｕｘ６２は、ＰＬＬ３８及び発振器３６のクロック出力に接続され、フィルタクロック（フィルタ回路２４用のクロック）に接続された出力を有する。制御回路は、ｍｕｘ６２のためのｍｕｘ選択制御部に接続され、ＰＬＬ３８から出力されるクロックレディ（Ｃｌｋ＿Ｒｄｙ）信号に接続される。
【００４８】
制御回路６０及びｍｕｘ６２は、いずれの方向においても、ＰＬＬクロックと発振器クロックとの間で不具合なく遷移することができる。ＰＬＬクロックが再び利用可能になった場合、制御回路６０は、ＰＬＬがロックしてＰＬＬ３８によって出力される高品質クロックが安定していることを示すＣｌｋ＿Ｒｄｙ信号のアサートを受信することができる。制御回路６０は、双方のクロックを確実に低状態にするように構成することができ、続いて選択制御を発振器３６からＰＬＬ３８へ切り替えるように構成することができる。高品質クロックの次の立ち上がりエッジが発生し、続いてフィルタクロックは高品質クロックに追従することができる。
【００４９】
上記動作は、図４のフローチャートに例示されている。理解を容易にするために、特定の順序でブロックを示しているが、他の順序を用いてもよい。ブロックは、制御回路６０内の組み合わせ論理回路によって、並列に実行されてもよい。ブロック、ブロックの組み合わせ、及び／又はフローチャート全体は、複数のクロックサイクルにわたって、パイプライン化することができる。制御回路６０は、図４に示す動作を実行するように構成することができる。クロックレディアサートがＰＬＬ３８から受信された場合（判定ブロック６４、「はい」の脚）、発振器回路３６からの発振器クロックとＰＬＬ３８からのＰＬＬクロックの双方が低状態である（判定ブロック６６、「はい」の脚）場合、制御回路６０は、ｍｕｘ６２を介してＰＬＬクロック（高品質クロック）を選択するように構成することができる（ブロック６８）。
【００５０】
図５は、オーディオフィルタ回路によってキャプチャされたオーディオサンプルがメモリに書き込まれた後のメモリ１２を示すブロック図である。図５に示すように、サンプルは、「Ｈｅｙ  Ｓｉｒｉ」のキーフレーズ（又は、検証が完了していない場合にキーフレーズと思われる）を形成するサンプル８２、並びにフレーズの残りの部分を形成するサンプル８４を含む。サンプルの上の中括弧で示されるように、サンプル８２及び（高品質クロックが利用可能になる前にキャプチャされた）最初のサンプル８４のうちの１つ以上は、低電力クロックでキャプチャされ、残りのサンプル８４は、高品質クロックでキャプチャすることができる。サンプル８２及び８４の下に中括弧で示すように、ＣＰＵは、サンプルが異なるクロックを使用してキャプチャされたとしても、サンプル８２と８４の組み合わせを全体として（即ち、単一の連続フレーズとして）処理することができる。
【００５１】
次に図６に移ると、機器５の一実施形態の動作を例示するタイミング図が示されている。図６において、時間は左から右へ増加する。タイミング図の開始において、左側で、機器５はアイドル状態の可能性があり、したがって、オーディオフィルタ回路２４はオーディオサンプルを監視し得る。メモリコントローラ２２及びＣＰＵ複合体１４などのＳＯＣ１０の他の部分の電源は、切断されている可能性がある。タイミング図の上方を横切る文は、ユーザにより発話されてもよく、この例ではキーフレーズは、「Ｈｅｙ  Ｓｉｒｉ」とすることができる。しかし、さまざまな実施形態では、任意のキーワード／フレーズを使用することができる。
【００５２】
オーディオフィルタ回路２４によって、マイクロフォンに応じて生成されたオーディオサンプルが処理されるときに、オーディオフィルタ回路２４は、キーフレーズ（参照数字７０）を検出することができる。この検出に応じて、オーディオフィルタ回路２４は、メモリコントローラ２２及びＣＰＵ複合体１４の電源投入を要求することができる（参照数字７２及び７４）。オーディオフィルタ回路２４は、パラメータ３４Ｂからメモリコントローラ２２を復元することができ、これによって、メモリコントローラ２２は、書き込み動作を受け入れるように利用可能となり得る。続いて、オーディオフィルタ回路２４は、パターンと一致するオーディオサンプル及び後続のサンプル（「一番近いピザ屋はどこ？」を表す）をメモリに書き込む（参照数字７６）ことができる。
【００５３】
一方、ＣＰＵは電源投入され、リセットされ、オペレーティングシステムをブートする（参照数字７４及び７８）ことができる。図６に例示されるように、オーディオサンプルの処理を開始することができる（参照数字８０）ようになる時点までの、オペレーティングシステムのブートは、メモリコントローラ２２の復元よりも時間を要する恐れがある。メモリコントローラによって受信されキャプチャされるサンプル、例えば、キーワードの直後のワード（単数又は複数）は、ブート後のワードだけをオペレーティングシステムがキャプチャしていた場合には、キャプチャされることはない。したがって、ユーザによる連続的な発話をキャプチャすることができ、（ユーザに対して）より自然なインタフェースが利用可能となり得る。前述のように、いくつかの実施形態では、メモリコントローラ２２と並列にＣＰＵの電源を投入しなくてもよい。
【００５４】
上述の開示内容が十分に理解されれば、多くの変形及び修正が当業者にとって明らかになるであろう。以下の請求項はこのような変形及び修正を全て受け入れるように解釈すべきであることが意図されている。
【図１】
0006401870.tif 000002
【図２】
0006401870.tif 000003
【図３】
0006401870.tif 000004
【図４】
0006401870.tif 000005
【図５】
0006401870.tif 000006
【図６】
0006401870.tif 000007