(57)【要約】  メディア再生システムを介するメディア再生用のシステム及び方法は、ネットワークマイクロフォンデバイスを介して音データをキャプチャするステップと、音データ内のウェイクワード候補を識別するステップと、を含む。音データ内のウェイクワード候補の識別に基づいて、システムは、複数のウェイクワードエンジンの中から第一のウェイクワードエンジンを選択する。第一のウェイクワードエンジンを介して、システムは音データを分析して、確認されたウェイクワードを検出し、確認されたウェイクワードの検出に応答して、音データのボイス発声をボイスアシスタントサービスに関連する１つ又は複数のリモートコンピュータに送信する。
2021516790.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークマイクロフォンデバイスを介して音データをキャプチャするステップと、
前記ネットワークマイクロフォンデバイスを介して、キーワードスポッティングアルゴリズム（５７６）を使って前記音データ内のウェイクワード候補を識別するステップと、
前記音データ内の前記ウェイクワード候補の識別に基づいて、複数のウェイクワードエンジン（５７０ａ、５７０ｂ、５７１）の中から第一のウェイクワードエンジン（５７０ａ、５７０ｂ、５７１）を選択するステップと、
前記第一のウェイクワードエンジン（５７０ａ、５７０ｂ、５７１）を使って、ウェイクワードの検出を確認するために前記音データを分析するステップと、
前記第一のウェイクワードエンジン（５７０ａ、５７０ｂ、５７１）が前記ウェイクワードの検出を確認したとき、前記音データのボイス発声をボイスアシスタントサービスと関連した１つ又は複数のリモートコンピュータに送信するステップと、を含む方法。
【請求項２】
前記ウェイクワード候補を識別するステップは、前記音データ内に前記ウェイクワード候補が存在する確率を判断することを含む、請求項１に記載の方法。
【請求項３】
前記ウェイクワードエンジン（５７０ａ、５７０ｂ、５７１）が、前記ウェイクワード候補が前記音データ内に存在するか否かを前記キーワードスポッティングアルゴリズム（５７６）よりも高い精度で判断するように構成される、請求項２に記載の方法。
【請求項４】
前記キーワードスポッティングアルゴリズム（５７６）が、複数のボイスアシスタントサービスのそれぞれと複数のウェイクワードエンジンのそれぞれとに対応する複数のウェイクワードを認識するように構成される、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記複数のウェイクワードエンジン（５７０ａ、５７０ｂ、５７１）に関して、前記キーワードスポッティングアルゴリズム（５７６）が、演算の複雑さがより低い、及びメモリ消費量がより小さい、のうちの少なくとも１つである、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記第一のウェイクワードエンジン（５７０ａ、５７０ｂ、５７１）が、前記ウェイクワード候補と関連し、
前記複数のウェイクワードエンジン（５７０ａ、５７０ｂ、５７１）のうちの別のものが、１つ又は複数の追加のウェイクワードと関連する、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
前記ウェイクワード候補を識別するステップは、ニューラルネットワークモデル（８０２）を前記音データに適用することを含む、請求項１〜６のいずれか一項に記載の方法。
【請求項８】
前記ニューラルネットワークモデル（８０２）が圧縮ニューラルネットワークモデル（８０４）を含む、請求項７に記載の方法。
【請求項９】
前記ニューラルネットワークモデル（８０２、８０４）が前記ＮＭＤにローカルで記憶される、請求項７又は８に記載の方法。
【請求項１０】
前記圧縮ニューラルネットワークモデル（８０４）が、混合ガウスモデルを前記ニューラルネットワーク（８０２）の重みにフィットさせることにより圧縮される、請求項８又は９に記載の方法。
【請求項１１】
前記ニューラルネットワーク（８０２）の重みのレンジにわたって、非固定コンポーネントの平均を分布させることにより、混合ガウスモデルを初期化するステップ、をさらに含む、請求項１０に記載の方法。
【請求項１２】
初期化された前記混合ガウスモデルを前記ニューラルネットワークモデルの重みにフィットさせるステップと、
前記ニューラルネットワークの重みを前記混合ガウスモデルのクラスタの周りにクラスタ化させるステップと、
をさらに含む、請求項１１に記載の方法。
【請求項１３】
前記ニューラルネットワークモデルを量子化するステップ、をさらに含む、請求項１２に記載の方法。
【請求項１４】
前記ニューラルネットワークモデルを前記ニューラルネットワークモデルの圧縮疎行列表現を使って圧縮するステップ、をさらに含む、請求項８〜１３のいずれか一項に記載の方法。
【請求項１５】
前記第一のウェイクワードエンジン（５７０ａ、５７０ｂ、５７１）を選択するステップは、前記ＮＭＤを、低電力状態又は無電力状態から、高電力状態へパワーアップすることを含む、請求項１〜１４のいずれか一項に記載の方法。
【請求項１６】
追加の音データを送信した後、前記ネットワークマイクロフォンデバイスを介して、前記追加の音データに関連するメディアコンテンツの選択を受信するステップ、をさらに含む、請求項１〜１５のいずれか一項に記載の方法。
【請求項１７】
前記複数のウェイクワードエンジンは、
前記第一のウェイクワードエンジン（５７０ａ、５７０ｂ、５７１）、及び
前記ネットワークマイクロフォンデバイスのローカルの機能を実行するように構成される第二のウェイクワードエンジン（５７１）、
を備える、請求項１〜１６のいずれか一項に記載の方法。
【請求項１８】
前記第一のウェイクワードエンジン（５７０ａ、５７０ｂ、５７１）が前記ウェイクワードの検出を確認しないとき、前記第一のウェイクワードエンジン（５７０ａ、５７０ｂ、５７１）を停止するステップ、をさらに含む、請求項１〜１７のいずれか一項に記載の方法。
【請求項１９】
前記第一のウェイクワードエンジン（５７０ａ、５７０ｂ、５７１）を選択する前に、検出されたそれぞれの音データ内のウェイクワード候補の前記キーワードスポッティングアルゴリズム（５７６）を使って、１つ又は複数の追加のＮＭＤとの間でいずれのＮＭＤが前記ウェイクワードエンジンを選択するべきかを、判断された確率に基づいて調停するステップ、をさらに含む、請求項１〜１８のいずれか一項に記載の方法。
【請求項２０】
ネットワークマイクロフォンデバイスに、請求項１〜１９のいずれか一項に記載の方法を実施させるように１つ又は複数のプロセッサによって実行可能な命令を記憶する、有形の非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項２１】
１つ又は複数のプロセッサと、
少なくとも１つのマイクロフォンと、
請求項２０に記載の有形の非一時的なコンピュータ読み取り可能な記憶媒体と、
を含む、ネットワークマイクロフォンデバイス。
【発明の詳細な説明】
【関連出願の相互参照】
【０００１】
この出願は、２０１８年９月２８日に出願された米国特許出願第１６／１４５，２７５号明細書に基づく優先権を主張する。この出願の内容は、その全体が参照により本明細書に組み込まれる。
【技術分野】
【０００２】
本願は、コンシューマ製品に関するものであり、特に、メディア再生システムのボイス制御に向けられた方法、システム、製品、機能、サービス、及び他の要素に関するものや、それらのいくつかの態様に関する。
【背景技術】
【０００３】
２００３年に、ソノズ・インコーポレイテッドが最初の特許出願のうちの１つである「複数のネットワークデバイス間のオーディオ再生を同期する方法」と題する特許出願をし、２００５年にメディア再生システムの販売を開始するまで、アウトラウド設定におけるデジタルオーディオへのアクセス及び試聴のオプションは制限されていた。人々は、ソノズ無線ＨｉＦｉシステムによって、１つ又は複数のネットワーク再生デバイスを介して多くのソースから音楽を実質的に無制限に体験できるようになっている。スマートフォン、タブレット、又はコンピュータにインストールされたソフトウェアコントロールアプリケーションを通じて、ネットワーク再生デバイスを備えた全ての部屋において、人々は自分が望む音楽を再生することができる。加えて、例えばコントローラを用いて、再生デバイスを有する各部屋に異なる歌をストリーミングする（ｓｔｒｅａｍ）こともできるし、同期再生のために複数の部屋をグループ化することもできるし、同期して同じ歌を全ての部屋において聞くこともできる。
【発明の概要】
【０００４】
デジタルメディアに対する関心の継続的な高まりを考えると、試聴体験を更に向上させることができるコンシューマアクセス可能な技術を更に開発することにニーズがあり続ける。
【図面の簡単な説明】
【０００５】
本明細書で開示されている技術の特徴、態様、及び利点は、以下の記載、添付の特許請求の範囲、及び添付の図面を参照するとより理解しやすい。
【０００６】
【図１Ａ】図１Ａは、本開示の技術の態様にしたがって構成されるメディア再生システムを有する環境の部分切り取り図である。
【図１Ｂ】図１Ｂは、図１Ａのメディア再生システム及び１つ又は複数のネットワークの模式図である。
【図２Ａ】図２Ａは、例示的な再生デバイスの機能ブロック図である。
【図２Ｂ】図２Ｂは、図２Ａの再生デバイスの例示的なハウジングの等角図である。
【図３Ａ】図３Ａは、本開示の態様に係る例示的な再生デバイス構成を示す図である。
【図３Ｂ】図３Ｂは、本開示の態様に係る例示的な再生デバイス構成を示す図である。
【図３Ｃ】図３Ｃは、本開示の態様に係る例示的な再生デバイス構成を示す図である。
【図３Ｄ】図３Ｄは、本開示の態様に係る例示的な再生デバイス構成を示す図である。
【図３Ｅ】図３Ｅは、本開示の態様に係る例示的な再生デバイス構成を示す図である。
【図４Ａ】図４Ａは、本開示の態様に係る例示的なコントローラデバイスの機能ブロック図である。
【図４Ｂ】図４Ｂは、本開示の態様に係るコントローラインタフェースを示す。
【図４Ｃ】図４Ｃは、本開示の態様に係るコントローラインタフェースを示す。
【図５】図５は、本開示の態様に係る例示的なネットワークマイクロフォンデバイスのあるコンポーネントの機能ブロック図である。
【図６Ａ】図６Ａは、例示的なボイス入力の図である。
【図６Ｂ】図６Ｂは、本開示の態様に係る例示的な音標本を描くグラフである。
【図７】図７は、本開示の態様に係る二段階ウェイクワード検出の例示的な方法のフローチャートである。
【図８】図８は、本開示の態様に係るキーワードスポッティング及び選択のモデルを生成するためのシステムの機能ブロック図である。
【図９】図９は、本開示の態様に係るソフト重み共有を介した圧縮の前後におけるニューラルネットワークモデルの重みのログ重み分布を示すチャートである。
【図１０】図１０は、本開示の態様に係るニューラルネットワークモデルの圧縮疎行列表現の例を示す。
【０００７】
図面は、いくつかの例示的な実施形態を説明することを目的としているが、本発明が、図面に示した配置及び手段に限定されるものではないことは理解される。図面中、同一の符号は少なくとも概して類似した要素を識別するために使われる。特定のいかなる要素の説明をも容易にするために、部品符号の重要な桁の値はその要素が初めて紹介された図を参照する。例えば、要素１０３は、図１Ａを参照して初めて紹介され説明される。
【発明を実施するための形態】
【０００８】
Ｉ．概要
無線オーディオ再生デバイス、照明デバイス、及びホームオートメーションデバイス（例えばサーモスタット、ドアロック、等）等のスマート家電品及びデバイスを含む「スマートホーム」にとって、ボイス制御は有益であり得る。いくつかの実施例において、ネットワークマイクロフォンデバイスがスマートホームのデバイスを制御するために使用され得る。
【０００９】
ネットワークマイクロフォンデバイス（「ＮＭＤ］）は、通常ＮＭＤの環境に存在する音を検出するように構成された、マイクロフォンアレイなどのマイクロフォンの配列を含む。検出音は、バックグラウンドノイズ（例えば、再生デバイスによって出力される音楽、又はその他の周囲のノイズ）が混じった、人のスピーチを含んでもよい。実際は、ＮＭＤは通常、検出音にフィルタをかけて人のスピーチからバックグラウンドノイズを取り除き、ボイス制御を示すボイス入力をスピーチが含むか否かを識別することを容易にする。その場合、ＮＭＤはそのボイス入力に基づいて動作してもよい。
【００１０】
ＮＭＤは、通常ＮＭＤに搭載され、ＮＭＤにより検出された音が特定のウェイクワードを含むボイス入力を含むか否かを識別するウェイクワードエンジンをしばしば採用する。ウェイクワードエンジンは、１つ又は複数の識別アルゴリズムを使って特定のウェイクワードを識別する（すなわち、「スポットする」）ように構成されてもよい。このウェイクワード識別工程は一般に「キーワードスポッティング」と呼ばれる。実際には、キーワードスポッティングを容易にするため、ＮＭＤはＮＭＤのマイクロフォンで検出された音をバッファし、次に、バッファした音をウェイクワードエンジンを使って処理してウェイクワードが存在するか否かを判断してもよい。
【００１１】
ウェイクワードエンジンが検出音の中にウェイクワードをスポットしたとき、ＮＭＤは、ＮＭＤが潜在的なボイス入力を含む音を検出したことを示すウェイクワードイベント（すなわち、「ウェイクワードトリガ」）が発生したと判断してもよい。ウェイクワードイベントの発生は、通常ＮＭＤに、検出音に関与する付加的な工程を実行させる。いくつかの実施形態において、これらの付加的な工程はウェイクワードが識別されたことを示す警報（例えば可聴のチャイム、及び／又は光インジケータ）を出力すること、及び検出音データをバッファから抽出していること、を含んでもよく、その他の付加的な工程を含む可能性もある。検出音の抽出は、検出音のストリーミングを読み出して特定のフォーマットに従ってパッケージし、パッケージされた音データを適切なボイスアシスタントサービス（ＶＡＳ）へ解釈のために発信することを含んでもよい。
【００１２】
次に、ウェイクワードエンジンによって識別されたウェイクワードに対応するＶＡＳは、ＮＭＤから送信された音データを通信ネットワーク上で受信する。ＶＡＳは従来から、ボイス入力を処理するように構成された１つ又は複数のクラウドサーバーを使って実施される遠隔サービスの形をとる（例えば、ＡＭＡＺＯＮのＡＬＥＸＡ（登録商標）、ＡＰＰＬＥのＳＩＲＩ（登録商標）、ＭＩＣＲＯＳＯＦＴのＣＯＲＴＡＮＡ（登録商標）、ＧＯＯＧＬＥのＡＳＳＩＳＴＡＮＴ（登録商標）、など）。いくつかの例において、ＶＡＳの特定のコンポーネントおよび機能はローカルおよび遠隔のデバイスにわたって分配されてもよい。加えて又は代わりに、ＶＡＳは、ＮＭＤ又はＮＭＤを含むメディア再生システムにおいて実施されるローカルサービスの形をとってもよく、１つのボイス入力又は一定のタイプのボイス入力（例えば、初歩的なコマンド）は、遠隔ＶＡＳからの介入を受けずにローカルで処理されてもよい。
【００１３】
いずれの場合も、ＶＡＳが検出音データを受信するとき、ＶＡＳは通常このデータを処理する。処理するとは、ボイス入力を識別すること、及びボイス入力内で取得された言葉の意図を判断することを含む。ＶＡＳは次に、判断された意図にしたがって、何某かの指示と共に応答をＮＭＤに返してもよい。その指示に基づいて、ＮＭＤは１つ又は複数のスマートデバイスに動作を実行させてもよい。例えば、ＶＡＳからの指示にしたがって、ＮＭＤは、再生デバイスに特定の曲を再生させてもよく、又は照明デバイスをオン／オフさせてもよく、その他の例もあり得る。場合によっては、ＮＭＤ、又はＮＭＤを備えたメディアシステム（例えば、ＮＭＤ装備の再生デバイスを備えたメディア再生システム）は、複数のＶＡＳと会話するように構成されてもよい。実際にＮＭＤは、ＮＭＤによって検出された音の中に識別された特定のウェイクワードに基づいて、１つのＶＡＳを別のものの代わりに選択してもよい。
【００１４】
いくつかの実施形態において、ネットワークメディア再生システムの一部として構成された再生デバイスは、ＮＭＤのコンポーネントおよび機能を含んでもよい（すなわち、この再生デバイスは「ＮＭＤを搭載している」といえる）。この点において、そのような再生デバイスは、再生デバイスの環境に存在する、人の話し声、再生デバイス自身、又は近くの別の再生デバイスによって出力されるオーディオ、又はその他の周囲のノイズなどの音を検出するように構成されたマイクロフォンを含んでもよく、検出音をバッファしてウェイクワードの識別を容易にするコンポーネントをさらに含んでもよい。
【００１５】
ＮＭＤを搭載する再生デバイスのいくつかは、再生デバイスが壁のコンセントなどに物理的に接続せずとも動作が可能となる内部電源（例えば、充電式電池）を含んでもよい。この点において、そのような再生デバイスは、本明細書で「携帯再生デバイス」と呼ばれてもよい。逆に、壁のコンセントなどからの電力に依存するように構成される再生デバイスは、本明細書では「固定再生デバイス」と呼ばれてもよいが、そのようなデバイスは実際には家又はその他の環境の中で移動が可能である。実際には、固定再生デバイスが置かれている家又はその他の環境を、ヒトは携帯再生デバイスを持ったまま頻繁に出入りする場合がある。
【００１６】
場合によっては、ＮＭＤ又はＮＭＤのシステム（例えば、再生デバイスのメディア再生システム）用に、複数のボイスサービスが構成される。設定手順中に、１つ又は複数のサービスが構成可能であり、さらに追加のボイスサービスも後でシステムに構成することも可能である。したがって、ＮＭＤは、複数のボイスサービスとのインタフェースとして機能し、おそらく個々のボイスサービスからのＮＭＤがそれぞれのボイスサービスと会話する必要性を低減する。さらに、ＮＭＤは家に存在するサービス特有のＮＭＤと共に動作して所与のボイスコマンドを処理することができる。
【００１７】
２つ又はそれ以上のボイスサービスがＮＭＤ用に構成される場合、特定のボイスサービスに対応するウェイクワードを発声することにより、特定のボイスサービスが発動され得る。例えば、ＡＭＡＺＯＮにクエリするとき、ユーザは「Ａｌｅｘａ」というウェイクワードに続いてボイスコマンドを発声するかもしれない。他の例には、ＧＯＯＧＬＥをクエリするための「Ｏｋ、Ｇｏｏｇｌｅ」、およびＡＰＰＬＥをクエリするための「Ｈｅｙ、Ｓｉｒｉ」が含まれる。
【００１８】
場合によっては、ＮＭＤへのボイス入力を示すために汎用ウェイクワードを使用可能である。場合によっては、これは特定のいずれかのボイスサービスに紐づいたウェイクワードというより製造元固有のウェイクワードである（例えば、ＮＭＤがＳＯＮＯＳ再生デバイスである場合の「Ｈｅｙ、Ｓｏｎｏｓ」）。そのようなウェイクワードが与えられると、ＮＭＤはリクエストを処理するために特定のボイスサービスを識別可能である。例えば、ウェイクワードに続くボイス入力が特定のタイプのコマンド（例えば、音楽の再生）に関連する場合、ボイス入力はそのタイプのコマンド（例えば、ボイスコマンド能力を有するストリーミング音楽サービス）に関連するボイスサービスに送られる。
【００１９】
キーワードスポッティングは、音データが１つ又は複数のキーワードを含むか否かを検出するために音データを常時処理することを含むから、演算の負荷および電力消費が高くなり得る。加えて、キーワードスポッティングのアルゴリズムは再生デバイスのメモリをかなり消費し得るため、メモリの要求がより大きいこと、及びキーワードスポッティングアルゴリズムのオンラインのソフトウェアアップデートがより遅いことにつながる。これらの問題の対処法の１つは、演算効率が高いように、及び／又はメモリ要求が低いように設計されたキーワードスポッティングアルゴリズムを採用することである。例えば、特定のキーワードスポッティングアルゴリズムは、アルゴリズムが取得した音データを処理する方法に基づいて、他よりも元来高効率であり得る。さらに、特定のキーワードスポッティングアルゴリズムは、例えば、キーワードを定義するためにより簡単なモデルを使うことによって、又は、取得した音データを処理するためにより簡単なフィルタを使うことによって、演算効率も高くなるように作ることができる。その結果、取得した音データをキーワードモデルと比較するとき、より少ない処理作業で済む。演算効率を向上させるためにキーワードスポッティングアルゴリズムを調節する他の例も、様々な実施形態において、採用可能である。しかし、演算負荷がより小さいキーワードスポッティングアルゴリズムはまた、通常、キーワード検出の精度が低く、誤検出（ｆａｌｓｅ  ｐｏｓｉｔｉｖｅｓ）及び／又は検出漏れ（ｆａｌｓｅ  ｎｅｇａｔｉｖｅｓ）の割合が高くなる場合がある。
【００２０】
本明細書で開示するのは、これらの、及びその他の問題への対処の助けとなるシステム及び方法である。特に、ウェイクワードの検出精度を十分高く保ったままで、ＮＭＤの演算資源の使用、電力消費、及び／又はメモリ要求を軽減するために、ＮＭＤは、演算の複雑さが様々な２つ又はそれ以上のキーワードスポッティングアルゴリズムを実行する。例えば、１つ又は複数のウェイクワードを聞きわけようとしているとき、ＮＭＤは、処理力の上限が比較的低い第一のキーワードスポッティングアルゴリズムを使用する。上述の説明のとおり、第一のキーワードスポッティングアルゴリズムは、精度を犠牲にして演算の簡単さ、及び／又はメモリ消費量の低さを優先してもよい。これを考慮に入れると、第一のキーワードスポッティングアルゴリズムを使ってウェイクワードを検出することに応じて、ＮＭＤは、上限がより高い処理力の、及び／又はより大きいメモリを使用し、第一のアルゴリズムよりも精度が高い、第二のキーワードスポッティングアルゴリズムを使用することにより、第一のアルゴリズムによって検出されたウェイクワードの存在を確認する、又は誤認を見抜く。この方法によれば、演算負荷が高く、消費電力も高いキーワードスポッティングアルゴリズムを実行し続ける代わりに、ＮＭＤは、要求がより低いアルゴリズムを使った予備的なウェイクワード検出に基づいて、そのようなアルゴリズムを控えめに使用する。
【００２１】
加えて、又は代わりに、第一のアルゴリズムはウェイクワード候補の予備的検出に使用され得る。識別されたウェイクワード候補に基づいて、可能性のある複数のウェイクワードエンジンの中から１つのウェイクワードエンジンが選ばれ得る。これらのウェイクワードエンジンは、演算負荷がより高く、より大きい電力およびメモリを必要とするアルゴリズムを利用してもよい。その結果、予備的検出のための第一のアルゴリズムを使って一旦適切なウェイクワード候補が検出されると、特定のウェイクワードエンジンのみを選択して起動させることが有益であり得る。いくつかの実施形態において、予備的検出に使われる第一のアルゴリズムは、ウェイクワードエンジンよりも、例えば演算負荷が小さく、より高効率であり得る。
【００２２】
負荷がより小さいウェイクワード検出アルゴリズムの例としては、メモリ及び電力の消費を低減するために圧縮されたニューラルネットワークモデルが含まれる。いくつかの実施形態において、ニューラルネットワークモデルは、圧縮疎行列（ＣＳＲ：ｃｏｍｐｒｅｓｓｅｄ  ｓｐａｒｓｅ  ｒｏｗ）表現（ｒｅｐｒｅｓｅｎｔａｔｉｏｎ）、又は圧縮ニューラルネットワークモデルを達成するための以下で詳細に説明されるようなその他の適切な技術を使って重みを格納することが可能な、ソフト重み共有（ｓｏｆｔ−ｗｅｉｇｈｔ−ｓｈａｒｅｄ）ニューラルネットワークモデルでもよい。
【００２３】
例として、いくつかの実施形態において、ＮＭＤは、オーディオコンテンツをＮＭＤの１つ又は複数のマイクロフォンを介してキャプチャし、ＮＭＤは、第一のアルゴリズムを使って、キャプチャしたオーディオコンテンツが、それぞれのボイスサービスに対応する複数のウェイクワードのそれぞれの中から特定のウェイクワード候補を含むか否かを判断する。キャプチャした音データが特定のウェイクワード候補を含むとの判断に応じて、ＮＭＤは、複数のウェイクワードの中から第一のウェイクワードエンジンを選択して起動する。選択されたウェイクワードエンジンは、第二のアルゴリズムを使って、キャプチャした音データの中のウェイクワード候補の存在を確認又は否定することができる。ここで、第二のアルゴリズムは第一のアルゴリズムよりも演算負荷が高くてもよい。いくつかの実施形態において、第二のアルゴリズムは、例えば異なるＶＡＳに関連したウェイクワードを検出するように構成された異なるアルゴリズム群などの可能性のある複数のウェイクワード検出アルゴリズムの中から選択されてもよい。
【００２４】
いくつかの実施形態において、第二のアルゴリズムがキャプチャした音データの中にウェイクワード候補の存在を確認した場合、ＮＭＤは、特定のウェイクワードに対応するそれぞれのボイスサービスに、キャプチャしたオーディオコンテンツを処理させる。逆に、第二のアルゴリズムがキャプチャした音データ中のウェイクワード候補の存在を否定した場合、ＮＭＤは、特定のウェイクワードを検出するためにキャプチャした音データを処理することを中止する。
【００２５】
ここで記述されるいくつかの実施形態が、所与の参加者、例えば「ユーザ」、及び／又はその他のエンティティ、により実行される機能について参照し得るが、この記述は説明のみを目的とすることは理解されたい。特許請求の範囲は、請求項の文言に明確に別途記載されない限り、それらの例示的な実施者による動作を必要とするものであると解釈されるべきではない。
【００２６】
ＩＩ．例示的な動作環境
図１Ａ及び１Ｂは、本明細書で開示される１つ又は複数の実施形態が実施され得るメディア再生システム１００（又は、ＭＰＳ１００）の構成例を示す。はじめに図１Ａを参照すると、図示のＭＰＳ１００は、集合的に「ホーム環境」、「スマートホーム」、又は「環境１０１」と呼ばれ得る複数の部屋及びスペースを有する例示的なホーム環境に関連する。環境１０１は、主寝室１０１ａ、主寝室１０１ｂ（ここで「ニックの部屋」及ばれる）、第二の寝室１０１ｃ、ファミリールームもしくはデン１０１ｄ、オフィス１０１ｅ、リビングルーム１０１ｆ、ダイニングルーム１０１ｇ、キッチン１０１ｈ、及び外パティオ１０１ｉを含む、多くの部屋、スペース、及び／又は再生ゾーンを有する家を含む。ホーム環境に関係して、特定の実施形態及び例が以下で詳細に説明するが、ここで記述される技術は他のタイプの環境においても実施可能である。例えば、いくつかの実施形態において、ＭＰＳ１００は、１つ又は複数の商業施設（例えば、レストラン、モール、空港、ホテル、小売店その他の店舗）、１つ又は複数の車両（例えば、ＳＵＶ、バス、乗用車、船、ボート、飛行機）、複数の環境（例えば、ホームと車両環境の組み合わせ）、及び／又は複数ゾーンのオーディオが望ましいその他の適切な環境において実施可能である。
【００２７】
これらの部屋及びスペースの中で、ＭＰＳ１００は、１つ又は複数のコンピュータを含む。図１Ａ及び図１Ｂを共に参照して、そのようなコンピュータは、再生デバイス１０２（再生デバイス１０２ａ−１０２ｏとして個々に識別される）、ネットワークマイクロフォンデバイス１０３（「ＮＭＤ」１０３ａ−１０２ｉとして個々に識別される）、及びコントローラデバイス１０４ａ及び１０４ｂ（集合的に「コントローラデバイス１０４」）を含み得る。図１Ｂを参照して、ホーム環境は、例えば1つ又は複数のスマート照明デバイス１０８（図１Ｂ）、スマートサーモスタット１１０、及びローカルコンピュータ１０５（図１Ａ）などのローカルネットワークデバイスなどの追加の、及び／又は他のコンピュータを含んでもよい。以下で説明される実施形態において、１つ又は複数の様々な再生デバイス１０２は、ポータブル再生デバイスとして構成されるが、別の実施形態では固定再生デバイスとして構成されてもよい。例えば、ヘッドフォン１０２ｏ（図１Ｂ）は、携帯再生デバイスであり、本棚の上の再生デバイス１０２ｄは固定デバイスでもよい。別の例として、「パティオ」の再生デバイス１０２ｃは、壁のコンセントなどに差し込まれていないとき、環境１０１内の様々なエリア、及び環境１０１外に移動可能となるような電池式のデバイスであってもよい。
【００２８】
図１Ｂの参照を続けて、様々な再生デバイス、ネットワークマイクロフォンデバイス、及びコントローラデバイス１０２−１０４、及び／又はＭＰＳ１００のその他のネットワークデバイスは、ポイント間接続（ｐｏｉｎｔ−ｔｏ−ｐｏｉｎｔ  ｃｏｎｎｅｃｔｉｏｎｓ）を介して、及び／又は、有線及び／又はネットワークラウタ１０９を含むＬＡＮ１１１を介する無線を含み得るその他の接続によって互いに連結されてもよい。例えば、「左」デバイスとして指名され得る、「デン」１０１ｄ（図１Ａ）にある再生デバイス１０２ｊは、「右」デバイスとして指名され得て、同様に「デン」１０１ｄにある再生デバイス１０２ａとポイント間接続を有してもよい。関連した実施形態において、「左」再生デバイス１０２ｊは、例えば「フロント」デバイスとして指名され得る再生デバイス１０２ｂなどの他のネットワークデバイスと、ポイント間接続及び／又はＬＡＮ１１１を介したその他の接続を介して通信してもよい。
【００２９】
図１Ｂにさらに示されるように、ＭＰＳ１００は、１つ又は複数のリモートコンピュータ１０６とワイドエリアネットワーク（「ＷＡＮ］）１０７を介して接続されてもよい。いくつかの実施形態において、それぞれのリモートコンピュータ１０６は、１つ又は複数のクラウドサーバーの形態を有してもよい。リモートコンピュータ１０６は、環境１０１内のコンピュータと様々な方法で会話するように構成されてもよい。例えば、リモートコンピュータ１０６は、ホーム環境１０１のオーディオなどのメディアコンテンツのストリーミング、及び／又は再生の制御を容易にするように構成されてもよい。
【００３０】
いくつかの実施形態において、様々な再生デバイス、ＮＭＤ、及び／又はコントローラデバイス１０２−１０４は、ＶＡＳに関連した少なくとも１つのリモートコンピュータ、及びメディアコンテンツサービス（「ＭＣＳ］）と関連した少なくとも１つのリモートコンピュータと通信可能に接続されてもよい。例えば、図１Ｂに示された例において、リモートコンピュータ１０６ａは、ＶＡＳ１９０と関連付けられ、リモートコンピュータ１０６ｂは、ＭＣＳ１９２と関連づけられている。図１Ｂの例において、単一のＶＡＳ１９０及び単一のＭＣＳ１９２が示されているが、ＭＰＳ１００は、複数の異なるＶＡＳ及び／又はＭＣＳと接続されてもよい。いくつかの実施形態において、ＶＡＳは、ＡＭＡＺＯＮ、ＧＯＯＧＬＥ、ＡＰＰＬＥ、ＭＩＣＲＯＳＯＦＴ、ＳＯＮＯＳ、又はその他のボイスアシスタントプロバイダによって運営されてもよい。いくつかの実施形態において、ＭＣＳは、ＳＰＯＴＩＦＹ（登録商標）、ＰＡＮＤＯＲＡ、ＡＭＡＺＯＮ  ＭＵＳＩＣ、又はその他のメディアコンテンツサービスの１つ又は複数によって運営されてもよい。
【００３１】
図１Ｂにさらに示されるように、リモートコンピュータ１０６はさらに、メディア再生機能を遠隔から促進する、デバイス及びシステムのステータス情報を管理する、ＭＰＳ１００のデバイスと１つ又は複数のＶＡＳ及び／又はＭＣＳとの通信を指令する、などを含む一定の作業を実行するように構成されたリモートコンピュータ１０６ｃを含む。一例において、リモートコンピュータ１０６ｃは、１つ又は複数のＳＯＮＯＳ無線ＨｉＦｉシステムのクラウドサーバーを提供する。
【００３２】
様々な実施において、１つ又は複数の再生デバイス１０２は、オンボードの（例えば、統合された）ネットワークマイクロフォンデバイスの形態をとってもよく、又はそれを含んでもよい。例えば、再生デバイス１０２ａ−ｅは、対応するＮＭＤ１０３ａ−ｅをそれぞれ含む、又は別途備える。ＮＭＤを含むか又は備える再生デバイスは、記載内で別途指示がない限りここでは再生デバイス又はＮＭＤと交換可能で呼ばれ得る。場合によっては、ＮＭＤ１０３の１つ又は複数は、独立のデバイスでもよい。例えば、ＮＭＤ１０３ｆおよび１０３ｇは独立したデバイスでもよい。独立したＮＭＤは、スピーカ又は関連する電子部品などの、再生デバイスに通常含まれるコンポーネント及び／又は機能を省略してもよい。例えば、そのような場合、独立したＮＭＤは、オーディオ出力を生成しない、又は限定されたオーディオ出力（例えば、比較的低品質のオーディオ出力）を生成するかもしれない。
【００３３】
ＭＰＳ１００の様々な再生デバイス及びネットワークマイクロフォンデバイス１０２及び１０３は、これらのデバイスの１つ又は複数の設定の際、ユーザによってそれぞれのデバイスにつけられる固有の名称とそれぞれ関連してもよい。例えば、図１Ｂの図示例に示されるように、ユーザは再生デバイス１０２ｄに、それがブックケースに物理的に置かれているため、「ブックケース」という名称をつけてもよい。同様に、ＮＭＤ１０３ｆには、それがキッチン１０１ｈのアイランドカウンタートップに置かれているため、「アイランド」という名称がつけられてもよい（図１Ａ）。再生デバイス１０２ｅ、１０２ｌ、１０２ｍ、及び１０２ｎがそれぞれ「寝室」、「ダイニングルーム」、「リビングルーム」、及び「オフィス」と名付けられるなど、いくつかの再生デバイスは、ゾーン又は部屋に従って名称がつけられてもよい。さらに、特定の再生デバイスは、機能を記述した名称を有してもよい。例えば、再生デバイス１０２ａ及び１０２ｂは、これらのデバイスが「デン」１０１ｄのゾーンでメディアを再生している間、特定のオーディオチャンネルを提供するよう構成されるため、「右」及び「フロント」という名称がそれぞれつけられる（図１Ａ）。「パティオ」の再生デバイス１０２ｃは、それが電池式及び／又は環境１０１の異なるエリアへいつでも移動可能であるため、ポータブルと名付けられてもよい。その他の名付け方法も可能である。
【００３４】
上述したように、ＮＭＤは、ＮＭＤの近傍の人が話したスピーチが混じったバックグラウンドノイズを含む音などの、その環境からの音を検出して処理してもよい。例えば、ＮＭＤによって環境内で音が検出されると、ＮＭＤは、検出音を処理して、ＮＭＤ向け、そして究極的に特定のＶＡＳ向けを意図したボイス入力を包含するスピーチを音が含むか否かを判断してもよい。例えば、ＮＭＤはスピーチが特定のＶＡＳと関連するウェイクワードを含むか否かを識別してもよい。
【００３５】
図１Ｂの図示例において、ＮＭＤ１０３は、ＬＡＮ１１１とラウタ１０９を介してネットワーク上でＶＡＳ１９０と会話するように構成される。ＶＡＳ１９０との会話は、例えばＮＭＤが検出音の中にウェイクワードの候補を識別したときに開始されてもよい。識別によりウェイクワードイベントが起こり、それに続いて、ＮＭＤが検出音データをＶＡＳ１９０へ送信することを開始する。いくつかの実施形態において、様々なローカルネットワークデバイス１０２−１０５（図１Ａ）、及び／又はＭＰＳ１００のリモートコンピュータ１０６ｃは、様々なフィードバック、情報、指示、及び／又は関連データを、選択されたＶＡＳに関連するリモートコンピュータとやり取りしてもよい。そのようなやり取りは、ボイス入力を包含する送信されたメッセージと関連していてもよいし、独立していてもよい。いくつかの実施形態において、リモートコンピュータ及びメディア再生システム１００は、ここで説明されるような通信経路を介して、及び／又はメタデータ交換チャンネルを使ってデータをやり取りしてもよい。メタデータ交換チャンネルは、２０１７年２月２１日付けの米国特許出願第１５／４３８，７４９号明細書に記載されており、この出願の名称は「メディア再生システムのボイス制御」であり、その全体がここで参照され援用される。
【００３６】
音データのストリームを受信すると、ＶＡＳ１９０は、ＮＭＤからストリーミングされたデータ内にボイス入力が存在するかを判断し、存在する場合、ＶＡＳ１９０はまたボイス入力の根底にある意図を判断する。ＶＡＳ１９０は次に応答をＭＰＳ１００に返してもよく、それはウェイクワードイベントの原因となったＮＭＤに直接応答を送信することを含んでもよい。応答は通常ＶＡＳ１９０がボイス入力内に存在すると判断した意図に基づく。例として、ＶＡＳ１９０が「ビートルズのヘイジュードを再生して」という発声を含むボイス入力を受信したことに応答して、ＶＡＳ１９０は、ボイス入力の根底にある意図は再生を開始することと判断してもよく、さらにボイス入力の意図は「ヘイジュード」という特定の曲を再生することであると判断してもよい。これらの判断の後、ＶＡＳ１９０は、特定のＭＣＳ１９２へコンテンツ（すなわち、「ヘイジュード」という曲）を読み出すコマンドを発信してもよく、次にＭＣＳ１９２は、このコンテンツをＭＰＳ１００へ直接、又はＶＡＳ１９０を介して間接的に、提供する（例えばストリーミングする）。いくつかの実施形態において、ＶＡＳ１９０は、ＭＰＳ１００自身にＭＣＳ１９２からコンテンツを読み出すコマンドをＭＰＳ１００に送信してもよい。
【００３７】
いくつかの実施形態において、互いに近くに位置する２つ又はそれ以上のＮＭＤによって検出されたスピーチ内にボイス入力があると識別されたとき、ＮＭＤは、互いに調停を促進してもよい。例えば、環境１０１内のＮＭＤ搭載の再生デバイス１０２ｄ（図１Ａ）は、ＮＭＤを搭載する「リビングルーム」再生デバイス１０２ｍと比較的近く、１０２ｄ及び１０２ｍの両方が少なくとも時によっては同じ音を検出し得る。そのような場合、遠隔ＶＡＳに検出音データを提供することを担当するのが、最終的にいずれのデバイスになるのかについての調停が必要になる場合がある。ＮＭＤ間の調停の例は、例えば既に参照した米国特許出願第１５／４３８，７４９号明細書に記載されている。
【００３８】
特定の実施形態において、ＮＭＤは、ＮＭＤを含まないかもしれない指定された再生デバイス又はデフォルトの再生デバイスに、割り当てられてもよく、又は別途関連付けられてもよい。例えば、「キッチン」１０１ｈ（図１Ａ）の「アイランド」ＮＭＤ１０３ｆは、「アイランド」ＮＭＤ１０３ｆに比較的近い「ダイニングルーム」再生デバイス１０２ｌに割り当てられ得る。実際に、ＮＭＤは、遠隔のＶＡＳがオーディオを再生するようにＮＭＤからボイス入力を受信したことに応答して、割り当てられた再生デバイスにオーディオを再生するように命令してもよく、そのボイス入力は、ユーザが発生した特定の曲、アルバム、プレイリスト等を再生させるコマンドに応じて、ＮＭＤがＶＡＳに送信したものであってもよい。ＮＭＤ及び再生デバイスを、指定された再生デバイス又はデフォルトの再生デバイスに割り当てることに関するさらなる詳細は、例えば既に参照した米国特許出願第１５／４３８，７４９号明細書に記載されている。
【００３９】
例示的なＭＰＳ１００の異なるコンポーネントに関連するさらなる態様、及び異なるコンポーネントがどのように会話してユーザにメディア体験を提供し得るかについては、次のセクションで説明され得る。ここでの説明は概して例示的なＭＰＳ１００を参照するかもしれないが、ここで説明される技術は、上述のホーム環境、その他の中の応用に限定されない。例えば、ここで説明される技術は、再生デバイス、ネットワークマイクロフォンデバイス、及び／又はコントローラデバイス１０２−１０４のいずれかをより多く含む、又はより少なく含む他のホーム環境構成において便利かもしれない。例えば、ここの技術は単一の再生デバイス１０２及び／又は単一のＮＭＤ１０３を有する環境内で利用されてもよい。そのような場合のいくつかの例において、ＬＡＮ１１１（図１Ｂ）は無くてもよく、単一の再生デバイス１０２及び／又は単一のＮＭＤ１０３がリモートコンピュータ１０６ａ−ｄと直接通信してもよい。いくつかの実施形態において、テレコミュニケーションネットワーク（例えば、ＬＴＥネットワーク、５Ｇネットワークなど）は様々な再生デバイス、ネットワークマイクロフォンデバイス、及びコントローラデバイス１０２−１０４と、ＬＡＮに依存せずに通信してもよい。
【００４０】
ａ．例示的な再生、及びネットワークマイクロフォンデバイス
図２Ａは、図１Ａ及び図１ＢのＭＰＳ１００の再生デバイス１０２の１つのある態様を示す機能ブロック図である。図示されるように、再生デバイス１０２は、それぞれが以下で詳細に説明される様々なコンポーネントを含み、再生デバイス１０２の様々なコンポーネントは、システムバス、通信ネットワーク、又はその他の接続メカニズムを介して互いに連結されることができる。図２Ａに図示された例において、再生デバイス１０２は、図１Ａに示される複数のＮＭＤ１０３の１つなどのＮＭＤの機能をサポートするコンポーネントを含むから、「ＮＭＤ搭載の」再生デバイスと呼ばれてもよい。
【００４１】
図示されるように、再生デバイス１０２は、メモリ２１３に記憶された命令に従って入力データを処理するように構成されたクロック駆動のコンピュータコンポーネントであり得る少なくとも１つのプロセッサ２１２を含む。メモリ２１３は、プロセッサ２１２によって実行可能な命令を記憶するように構成された有形の非一時的なコンピュータ読み取り可能記録媒体であってもよい。例えば、メモリ２１３は、ある機能を実行するためにプロセッサ２１２によって実行可能なソフトウェアコード２１４をロードすることができるデータストレージであってもよい。
【００４２】
一例において、機能は、別の再生デバイスであり得るオーディオソースから再生デバイス１０２がオーディオデータを読み出すステップを含んでもよい。別の例において、機能は、再生デバイス１０２がオーディオデータ、検出音データ（例えば、ボイス入力に対応する）、及び／又はその他の情報を、ネットワーク内の別のデバイスに少なくとも１つのネットワークインタフェース２２４を介して送信することを含んでもよい。さらに別の例において、機能は再生デバイス１０２が１つ又は複数の他の再生デバイスに、再生デバイス１０２と同期してオーディオを再生させることを含んでもよい。さらに別の例において、機能は再生デバイス１０２が１つ又は複数の他の再生デバイスとペアリングされる、又はその他の方法で接続され、マルチチャンネルオーディオ環境を作ることを容易にすることを含んでもよい。多くの他の例示的な機能が可能であり、そのいくつかが以下で説明される。
【００４３】
直前に言及したとおり、ある機能は、再生デバイス１０２がオーディオコンテンツの再生を１つ又は複数の他の再生デバイスと同期させることを含んでいてもよい。同期した再生の間、同期した再生デバイス同士のオーディオコンテンツの再生の遅延に、聴取者が気づかない場合がある。２００４年４月４日付けの「複数の独立クロックデジタルデータ処理デバイス間の作業を同期するシステム及び方法」と題する米国特許第８，２３４，３９５号の全体が本明細書に参照として援用されており、それは再生デバイス間のオーディオ再生を同期することのより詳細な例を提供している。
【００４４】
オーディオ再生を容易にするために、再生デバイス１０２は、概して再生デバイス１０２がオーディオをレンダリングするより前にオーディオを処理するように構成されるオーディオ処理コンポーネント２１６を含む。この点において、オーディオ処理コンポーネント２１６は、１つ又は複数のデジタルからアナログへのコンバータ（「ＤＡＣ」）、１つ又は複数のオーディオ処理コンポーネント、１つ又は複数のオーディオ強化コンポーネント、１つ又は複数のデジタル信号プロセッサ（「ＤＳＰ」）、及びその他、などを含んでもよい。いくつかの実施形態において、１つ又は複数のオーディオ処理コンポーネント２１６は、プロセッサ２１２のサブコンポーネントでもよい。動作中、オーディオ処理コンポーネント２１６は、アナログ及び／又はデジタルのオーディオを受信し、処理する及び／又はその他の方法で意図的にオーディオを変換して再生用のオーディオ信号を生成する。
【００４５】
生成されたオーディオ信号は次に、増幅用の１つ又は複数の増幅器２１７に提供されてもよく、増幅器２１７に動作可能に接続された１つ又は複数のスピーカ２１８を通して再生されてもよい。オーディオ増幅器２１７は、オーディオ信号を１つ又は複数のスピーカ２１８を駆動するためのレベルまで増幅するように構成されたコンポーネントを含んでもよい。
【００４６】
それぞれのスピーカ２１８は、個々のトランスデューサ（例えば、「ドライバ」）含んでもよく、又はスピーカ２１８が１つ又は複数のドライバを備えた筐体を含む完全なスピーカシステムを含んでもよい。スピーカ２１８の、ある特有のドライバは、例えば、サブウーファ（例えば、低周波数用）、ミッドレンジドライバ（例えば、中周波数用）、及び／又はツイータ（例えば、高周波数用）を含んでもよい。場合によっては、トランスデューサはオーディオ増幅器２１７の個々の対応するオーディオ増幅器によって駆動されてもよい。いくつかの実施形態において、再生デバイスがスピーカ２１８を含まなくてもよく、代わりに再生デバイスを外部スピーカに接続するためのスピーカインタフェースを含んでもよい。ある実施形態において、再生デバイスは、スピーカ２１８もオーディオ増幅器２１７も含まなくてもよく、代わりに再生デバイスを外部オーディオ増幅器又はオーディオビジュアルレシーバに接続するためのオーディオインタフェース（図示せず）を含んでもよい。
【００４７】
再生デバイス１０２による再生のためにオーディオ信号を生成することに加えて、オーディオ処理コンポーネント２１６は、再生のためにネットワークインタフェース２２４を介して１つ又は複数の他の再生デバイスへ送られるオーディオを処理するように構成されてもよい。以下で説明されるように、例示的なシナリオにおいて、再生デバイス１０２によって処理される及び／又は再生されるオーディオコンテンツは、再生デバイス１０２（図示せず）のオーディオライン入力インタフェース（例えば、オーディオを検出する３．５ミリメートルオーディオライン入力接続）を介して、又はネットワークインタフェース２２４を介して、外部ソースから受信されてもよい。
【００４８】
図示されるように、少なくとも１つのネットワークインタフェース２２４は、１つ又は複数の無線インタフェース２２５、及び／又は１つ又は複数の有線インタフェース２２６の形態をとってもよい。無線インタフェースは、他のデバイス（例えば、他の再生デバイス、ＮＭＤ、及び／又はコントローラデバイス）と通信プロトコル（例えば、ＩＥＥＥ８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇ、８０２．１１ｎ、８０２．１１ａｃ、８０２．１５、４Ｇモバイル通信スタンダード、その他のあらゆる無線通信規格）に従って無線で通信するようなネットワークインタフェースの機能を再生デバイス１０２に提供してもよい。有線インタフェースは、通信プロトコル（例えば、ＩＥＥＥ８０２．３）に従って有線で通信するようなネットワークインタフェースの機能を再生デバイス１０２に提供してもよい。図２Ａに示されるネットワークインタフェース２２４は、有線及び無線の両方のインタフェースを含むが、いくつかの実施形態において、再生デバイス１０２は、無線インタフェースのみ、又は有線インタフェースのみを含んでもよい。
【００４９】
概して、ネットワークインタフェース２２４は、再生デバイス１０２とデータネットワーク内の１つ又は複数の他のデバイスとの間のデータフローを容易にする。例えば、再生デバイス１０２は、データネットワーク上で、１つ又は複数の他の再生デバイス、ＬＡＮ内のネットワークデバイス、及び／又はインターネットなどのＷＡＮ上でオーディオコンテンツソースからオーディオコンテンツを受信するように構成されてもよい。一例において、再生デバイス１０２によって送信及び受信されるオーディオコンテンツ及びその他の信号は、インターネットプロトコル（ＩＰ）に基づくソースアドレス及びＩＰに基づく目的地アドレスを含むデジタルパケットデータの形態で送信されてもよい。そのような場合、ネットワークインタフェース２２４は、再生デバイス１０２に向かうデータが再生デバイス１０２によって適切に受信され処理されるようにデジタルパケットデータを解析するように構成されてもよい。
【００５０】
図２Ａに示されるように、再生デバイス１０２はまた、１つ又は複数のマイクロフォン２２２と動作するように接続されたボイス処理コンポーネント２２０を含む。マイクロフォン２２２は、再生デバイス１０２の環境内の音（すなわち、音響波）を検出し、それが次にボイス処理コンポーネント２２０に提供されるように構成される。より具体的には、以下でより詳細に説明されるように、各マイクロフォン２２２は、音を検出し、その音を、検出音を表現するデジタル又はアナログ信号に変換するように構成され、その信号は次にボイス処理コンポーネント２２０に検出音に基づく様々な機能を実行させ得る。１つの実施形態において、マイクロフォン２２２は、マイクロフォンのアレイ（例えば、６個のマイクロフォンのアレイ）として配置される。いくつかの実施形態において、再生デバイス１０２は、６個以上のマイクロフォン（例えば、８個のマイクロフォン又は１２個のマイクロフォン）を含み、又は６個以下のマイクロフォン（例えば４個のマイクロフォン、２個のマイクロフォン、又は１個のマイクロフォン）を含む。
【００５１】
動作中、ボイス処理コンポーネント２２０は、概してマイクロフォン２２２を介して受信された音を検出して処理し、検出音内のボイス入力の候補を識別し、及び検出音データを抽出するように構成され、検出音データ内で識別されたボイス入力をＶＡＳ１９０（図１Ｂ）などのＶＡＳが処理できるようにする。ボイス処理コンポーネント２２０は、１つ又は複数のアナログからデジタルへのコンバータ、音響エコー除去器（「ＡＥＣ」）、空間プロセッサ（例えば、１つ又は複数のマルチチャンネルウィーンフィルタ（Ｗｉｅｎｅｒ  ｆｉｌｔｅｒｓ）、１つ又は複数のその他のフィルタ、及び／又は１つ又は複数のビーム形成コンポーネント）、１つ又は複数のバッファ（例えば、１つ又は複数のサーキュラバッファ）、１つ又は複数のウェイクワードエンジン、１つ又は複数のボイス抽出器、及び／又は１つ又は複数のスピーチ処理コンポーネント（例えば、特定のユーザ又は家に関連した特定のグループのユーザの声を認識するように構成されたコンポーネント）、やその他の例示的なボイス処理コンポーネントを含んでもよい。例示的な実施形態において、ボイス処理コンポーネント２２０は、１つ又は複数のＤＳＰ、又はＤＳＰの１つ又は複数のモジュールを含んでもよい、又はその形態をとってもよい。その点において、特定のボイス処理コンポーネント２２０は、特定の機能を達成するために修正や、別途チューニングされ得る特定のパラメータ（例えば、ゲイン及び／又はスペクトラルパラメータ）と共に構成されてもよい。いくつかの実施形態において、ボイス処理コンポーネント２２０の１つ又は複数は、プロセッサ２１２のサブコンポーネントでもよい。
【００５２】
いくつかの実施形態において、ボイス処理コンポーネント２２０は、ＭＰＳ１００のユーザアカウントと関連し得るユーザのボイスプロフィールを検出して記憶してもよい。例えば、ボイスプロフィールは、コマンド情報のセット又はデータテーブルの中に記憶される変数として記憶されてもよく、及び／又は変数と比較されてもよい。ボイスプロフィールは、ユーザのボイスのトーン又は周波数の態様、及び／又は既に参照した米国特許出願第１５／４３８，７４９号明細書に記載されるものなどのユーザのボイスのその他の固有の態様を含んでもよい。
【００５３】
図２Ａにさらに示されるように、再生デバイス１０２はパワーコンポーネント２２７も含む。パワーコンポーネント２２７は、再生デバイス１０２を物理的に電気コンセント又はその他の外部パワーソースに接続されるパワーケーブルなどを介してパワーソース（図示せず）と接続され得る少なくとも１つの外部パワーソースインタフェース２２８を含む。その他のパワーコンポーネントは、例えばトランスフォーマ、コンバータ、及び電力パワーをフォーマットするように構成された類似のコンポーネントを含んでもよい。
【００５４】
いくつかの実施形態において、再生デバイス１０２のパワーコンポーネント２２７は、再生デバイス１０２を外部パワーソースに物理的に接続することなく電力供給するように構成された内部パワーソース２２９（例えば、１つ又は複数のバッテリ）をさらに含んでもよい。内部パワーソース２２９を備える場合、再生デバイス１０２は外部パワーソースに依存しないで動作できる。そのような実施形態において、外部パワーソースインタフェース２２８は、内部パワーソース２２９の充電を容易にするように構成されてもよい。既に説明したとおり、内部パワーソースを含む再生デバイスは、ここで「携帯再生デバイス」と呼ばれてもよい。逆に、外部パワーソースを使って動作する再生デバイスは、ここで「固定再生デバイス」と呼ばれてもよいが、そのようなデバイスは実際には家又はその他の環境内で移動可能である。
【００５５】
再生デバイス１０２はさらに、１つ又は複数のコントローラデバイス１０４によって容易にされるユーザの対話から独立した、又はそれと関連したユーザの対話を容易にし得るユーザインタフェース２４０を含む。様々な実施形態において、ユーザインタフェース２４０は、１つ又は複数の物理的なボタンを含む、及び／又はタッチ感応スクリーン及び／又は表面の上に提供されるグラフィカルインタフェースやその他のユーザが直接入力を提供するためのものをサポートする。ユーザインタフェース２４０はさらに、視覚的及び／又は聴覚的フィードバックをユーザに提供するために光源（例えば、ＬＥＤ）及びスピーカの１つ又は複数を含んでもよい。
【００５６】
図解のための例として、図２Ｂは、ハウジング２３０の上部２３４の制御エリア２３２の形態をとるユーザインタフェースを含む再生デバイス１０２の例示的なハウジング２３０を示す。制御エリア２３２は、オーディオ再生、音量レベル、及びその他の機能を制御するためのボタン２３６ａ−ｃを含む。制御エリア２３２はまた、マイクロフォン２２２をオン状態かオフ状態に切り替えるためのボタン２３６ｄを含む。
【００５７】
図２Ｂにさらに示されるように、制御エリア２３２は少なくとも部分的にハウジング２３０の上部２３４に形成され、マイクロフォン２２２（図２Ｂでは、見えない）が再生デバイス１０２の環境内で受信する音が通る開口によって囲まれる。マイクロフォン２２２は、上部２３４に沿った、及び／又はその中の、又はハウジング２３０のその他のエリアなどの様々な場所に配置されてもよく、再生デバイス１０２からみて１つ又は複数の方向からの音を検出する。
【００５８】
例示として、ソノズ・インコーポレイテッドは、「ＰＬＡＹ：１」、「ＰＬＡＹ：３」、「ＰＬＡＹ：５」、「ＰＬＡＹＢＡＲ」、「ＣＯＮＮＥＣＴ：ＡＭＰ」、「ＰＬＡＹＢＡＳＥ］、「ＢＥＡＭ」、「ＣＯＮＮＥＣＴ」、及び「ＳＵＢ」を含む、ここで開示される実施形態のいくつかを実施可能な再生デバイスを現在販売提供している（又は、していた）。他の過去、現在、及び／又は将来のいずれの再生デバイスにおいても、追加的に又は代替的に本明細書で開示された実施例の再生デバイスに実装して使用することができる。更に、再生デバイスは、図２Ａ又は図２Ｂに示された特定の例、又は提供されるソノズ製品に限定されないことは理解されるべきである。例えば、再生デバイスは、ネットワークインタフェースなどを介してメディア再生システム１００の一部として動作可能な有線又は無線のヘッドフォンを含んでもよい、又は別途その形態をとってもよい。別の例において、再生デバイスは、パーソナルモバイルメディア再生デバイス用のドッキングステーションを含むか、又は、それらと会話してもよい。更に別の例において、再生デバイスは、別のデバイス又はコンポーネント、例えば、テレビ、照明器具、又は屋内又は屋外で使用するためのいくつかの他のデバイスと一体化されてもよい。
【００５９】
ｂ．例示的な再生デバイス構成
図３Ａ−３Ｅは、再生デバイスの構成例を示す。はじめに図３Ａを参照して、いくつかの例において、単一の再生デバイスが１つのゾーンに属していてもよい。例えば、「パティオ」の再生デバイス１０２ｃ（図１Ａ）は「ゾーンＡ」に属してもよい。以下で説明するいくつかの実施例において、複数の再生デバイスが「結合」され（ｂｏｎｄｅｄ）、一緒に１つのゾーンを形成する「結合ペア」を形成してもよい。例えば、図３Ａにおいて「ベッド１」と名付けられた再生デバイス１０２ｆ（図１Ａ）が、図３Ａの「ベッド２」と名付けられた再生デバイス１０２ｇ（図１Ａ）に結合されて「ゾーンＢ」を形成してもよい。結合された再生デバイスは、異なる再生担当を有してもよい（例えば、チャンネル担当）。以下で説明される別の実施例において、複数の再生デバイスは併合され（ｍｅｒｇｅｄ）、１つのゾーンを形成してもよい。例えば、「ブックケース」と名付けられた再生デバイス１０２ｄが「リビングルーム」と名付けられた再生デバイス１０２ｍと併合されて「ゾーンＣ」を形成してもよい。併合された再生デバイス１０２ｄ及び１０２ｍには、特に異なる再生担当を割り当てられない場合もある。すなわち、併合された再生デバイス１０２ｄ及び１０２ｍは、オーディオコンテンツを同期して再生することを除けば、まるで併合されていないかのようにオーディオコンテンツをそれぞれが再生してもよい。
【００６０】
制御の目的で、ＭＰＳ１００の各ゾーンは、単一のユーザインタフェース（ＵＩ）エンティティとして示されてもよい。例えば、コントローラデバイス１０４によって表示されるように、「ゾーンＡ」は「ポータブル」と名付けられた単一のエンティティとして提供されてもよい。「ゾーンＣ」は「オフィス」と名付けられた単一のエンティティとして提供されてもよい。「ゾーンＢ」は「ステレオ」と名付けられた単一のエンティティとして提供され、「ゾーンＣ」は「リビングルーム」と名付けられた単一のエンティティとして提供されてもよい。
【００６１】
様々な実施形態において、ゾーンはそのゾーンに属する再生デバイスの１つの名前を踏襲してもよい。例えば、「ゾーンＣ」は「リビングルーム」デバイス１０２ｍ（図示のとおり）の名前を踏襲してもよい。別の例において、「ゾーンＣ」は代わりに「ブックケース」デバイス１０２ｄの名前を踏襲してもよい。さらなる例において、「ゾーンＣ」は「ブックケース」デバイス１０２ｄと「リビングルーム」デバイス１０２ｍとの何らかの組み合わせである名前を使ってもよい。選択される名前はコントローラデバイス１０４の入力を介してユーザによって選択されてもよい。いくつかの実施形態において、ゾーンはそのゾーンに属するデバイス以外の名前が与えられてもよい。例えば、図３Ａの「ゾーンＢ」は「ステレオ」と名付けられるが、「ゾーンＢ」のデバイスがどれもこの名前を有していない。一態様において、「ゾーンＢ」は、「ベッド１」及び「ベッド２」の構成デバイスからなる、「ステレオ」という名の単一のデバイスを示す単一のＵＩエンティティである。１つの実施形態において、「ベッド１」デバイスは、主寝室１０１ｈ（図１Ａ）の再生デバイス１０２ｆであってもよく、「ベッド２」デバイスは、同じく主寝室１０１ｈ（図１Ａ）の再生デバイス１０２ｇであってもよい。
【００６２】
上述のとおり、結合された再生デバイスは、特定のオーディオチャンネルの再生担当などの異なる再生担当を有してもよい。例えば、図３Ｂに示すように、オーディオコンテンツのステレオ効果を生み出す又は強化するように「ベッド１」及び「ベッド２」デバイス１０２ｆ及び１０２ｇが結合されてもよい。この例において、「ベッド１」再生デバイス１０２ｆは、左チャンネルのオーディオコンポーネントを再生するように構成されてもよく、「ベッド２」再生デバイス１０２ｇは、右チャンネルのオーディオコンポーネントを再生するように構成されてもよい。いくつかの実施例において、そのようなステレオ結合は「ペアリング」と呼ばれてもよい。
【００６３】
加えて、結合されるように構成された再生デバイスは追加の及び／又は異なるスピーカドライバをそれぞれ有してもよい。図３Ｃに示されるように、「フロント」と名付けられた再生デバイス１０２ｂは「サブ」と名付けられた再生デバイス１０２ｋと結合されてもよい。「フロント」デバイス１０２ｂは中間周波から高周波のレンジを提供し、「サブ」デバイス１０２ｋが例えばサブウーファとして低周波を提供してもよい。結合が解除されるとき、「フロント」デバイス１０２ｂが全周波レンジを提供するように構成されてもよい。別の例として、図３Ｄは、それぞれ「右」及び「左」デバイス１０２ａ及び１０２ｊとしてさらに結合された「フロント」及び「サブ」デバイス１０２ｂ及び１０２ｋを示す。いくつかの実施例において、「右」及び「左」デバイス１０２ａ及び１０２ｊは、ホームシアターシステムのサラウンド又は「サテライト」チャンネルを形成してもよい。結合された再生デバイス１０２ａ、１０２ｂ、１０２ｊ、及び１０２ｋは単一の「ゾーンＤ」（図３Ａ）を形成してもよい。
【００６４】
いくつかの実施形態において、再生デバイスは「併合」されることもできる。結合された再生デバイスとは対照的に、併合された再生デバイスは、割り当てられた再生担当を有さなくてもよく、それぞれの再生デバイスが可能なオーディオコンテンツの全レンジをそれぞれが提供してもよい。それにもかかわらず、併合されたデバイスは単一のＵＩエンティティ（すなわち上述のとおり、１つのゾーン）を示してもよい。例えば、図３Ｅには、「リビングルーム」の再生デバイス１０２ｄ及び１０２ｍが併合され、その結果これらのデバイスが「ゾーンＣ」という単一のＵＩエンティティとして代表して示されている。一実施形態において、再生デバイス１０２ｄ及び１０２ｍは、それぞれの再生デバイス１０２ｄ及び１０２ｍが可能なオーディオコンテンツの全レンジをそれぞれが出力し、オーディオを同期して再生してもよい。
【００６５】
いくつかの実施例において、独立したＮＭＤは、１つのゾーンの中に単独で存在し得る。例えば、図１ＡのＮＭＤ１０３ｈが「クローゼット」と名付けられ、図３Ａの「ゾーンＩ」を形成する。ＮＭＤはまた、別のデバイスと結合又は併合されてゾーンを形成してもよい。例えば、「アイランド」と名付けられたＮＭＤデバイス１０３ｆは再生デバイス１０２ｉ「キッチン」と結合されて、一緒に、それもまた「キッチン」と名付けられる「ゾーンＦ」を形成してもよい。ＮＭＤと再生デバイスとを指名された又はデフォルトのデバイスとして関連づけることに関するさらなる詳細は、例えば既に参照した米国特許出願第１５／４３８，７４９号明細書に記載されている。いくつかの実施例において、独立したＮＭＤは１つのゾーンに割り当てられなくてもよい。
【００６６】
個々の、結合された、及び／又は併合されたデバイスのゾーンは、オーディオを同期して再生する再生デバイスのセットを形成するように構成されてもよい。そのような再生デバイスのセットは、「グループ」、「ゾーングループ」、「同期グループ」、又は「再生グループ」と呼ばれてもよい。コントローラデバイス１０４を介して提供された入力に応答して、再生デバイスは動的にグループ化及びグループ解除されて新しい、又は異なるグループを形成し、オーディオコンテンツを同期して再生してもよい。例えば、図３Ａを参照して、「ゾーンＡ」が「ゾーンＢ」とグループ化されて２つのゾーンの再生デバイスを含むゾーングループを形成してもよい。別の例として、「ゾーンＡ」は１つ又は複数の他の「ゾーンＣ−Ｉ」とグループ化されてもよい。「ゾーンＡ−Ｉ」は多数の方法でグループ化及びグループ解除ができる。例えば、「ゾーンＡ−Ｉ」のうちの３つ、４つ、５つ、又はそれ以上（例えば全部）がグループ化できる。グループ化されると、既に参照した米国特許第８，２３４，３９５号明細書に説明されるように、個々の、及び／又は結合された再生デバイスはオーディオを互いに同期して再生してもよい。上述され、以下でより詳細に説明されるように、グループ化されて結合されたデバイスは、トリガイベントに応答して発生する携帯再生デバイスと固定再生デバイスとの間の関係の例示的なタイプである。
【００６７】
様々な実施例において、例えば図３Ａに示される「ダイニングルーム＋キッチン」のように、ある環境の中のゾーンには、グループ内のゾーンのデフォルトの名前又はゾーングループ内のゾーン名の組み合わせであり得る特定の名称が割り当てられ得る。いくつかの実施形態において、また図３Ａに示される「ニックの部屋」のように、ゾーングループにはユーザが選択した固有の名前が与えられてもよい。「ニックの部屋」という名称は、部屋の名称である「主寝室」などのゾーングループの旧名称からユーザが選択して改名したものかもしれない。
【００６８】
図２Ａの参照に戻って、メモリ２１３に、定期的に更新されて再生ゾーン、再生デバイス、及び／又はそれらと関連するゾーングループの状態を記述するために使われるあるデータが１つ又は複数の状態変数（ｓｔａｔｅ  ｖａｒｉａｂｌｅ）として記憶されてもよい。メモリ２１３はまた、メディアシステム１００の他のデバイスの状態に関連し、時々デバイス間で共有され得るデータを含んでもよく、デバイスの１つ又は複数がシステムに関連する最新のデータを有することになる。
【００６９】
いくつかの実施形態において、再生デバイス１０２のメモリ２１３は状態と関連する様々な変数タイプのインスタンスを記憶してもよい。変数インスタンス（ｖａｒｉａｂｌｅｓ  ｉｎｓｔａｎｃｅｓ）はタイプに対応する識別子（ｉｄｅｎｔｉｆｉｅｒ：例えば、タグ）とともに記憶されてもよい。例えば、特定の識別子は、あるゾーンの再生デバイスを識別する第一のタイプ「ａ１」、ゾーンに結合されていてもよい再生デバイスを識別する第二のタイプ「ｂ１」、及びゾーンが属し得るゾーングループを識別する第三のタイプ「ｃ１」であってもよい。関連する例として、図１Ａにおいて「パティオ」と関連する識別子は、「パティオ」が特定のゾーンにあってゾーングループに入っていない唯一の再生デバイスであることを示していてもよい。「リビングルーム」に関連する識別子は、「リビングルーム」が他のゾーンとグループ化されていないが、結合された再生デバイス１０２ａ、１０２ｂ、１０２ｊ、及び１０ｋを含んでいることを示していてもよい。「ダイニングルーム」と関連する識別子は、「ダイニングルーム」が「ダイニングルーム＋キッチン」のグループの一部であり、デバイス１０３ｆ及び１０２ｉが結合されていることを示していてもよい。「キッチン」と関連する識別子は、「キッチン」が、「ダイニングルーム＋キッチン」ゾーングループの一部であることにより、同じ又は類似した情報を示していてもよい。他の例示的なゾーン変数及び識別子は、以下で説明される。
【００７０】
さらに別の例において、ＭＰＳ１００は、図３Ａに示される「エリア」に関連する識別子などのように、ゾーン及びゾーングループの他の関連性を表す変数又は識別子を含んでもよい。あるエリアはゾーングループ及び／又はゾーングループに属さないゾーンのクラスタを含んでもよい。例えば、図３Ａは、「第一のエリア」と名付けられた第一のエリア及び「第二のエリア」と名付けられた第二のエリアを示す。「第一のエリア」は、「パティオ」、「デン」、「ダイニングルーム」、「キッチン」、及び「バスルーム」のゾーン及びゾーングループを含む。「第二のエリア」は、「バスルーム」、「ニックの部屋」、「寝室」、及び「リビングルーム」のゾーン及びゾーングループを含む。一態様において、「エリア」は、別のクラスタの１つ又は複数のゾーン及び／又はゾーングループを共有するゾーングループ及び／又はゾーンのクラスタを発動するために使われてもよい。この点において、そのような「エリア」は別のゾーングループとゾーンを共有しないゾーングループと異なる。「エリア」を実装する技術のさらなる例は、例えば２０１７年８月２１日付けの「名前に基づく部屋の関連付け」と題する米国特許出願第１５／６８２，５０６号明細書、及び２００７年９月１１日付けの「マルチゾーンメディアシステムの制御とグループ作成操作」と題する米国特許第８，４８３，８５３号明細書に記載がある。これらの出願はその全体がここに参照され援用される。いくつかの実施例において、ＭＰＳ１００は、「エリア」を実装しなくてもよい。その場合、システムは「エリア」に関連する変数を記憶しなくてもよい。
【００７１】
メモリ２１３はさらに、他のデータを記憶するように構成されてもよい。そのようなデータは、再生デバイス１０２、又はその再生デバイス（又は別の再生デバイス）が関連し得る再生キュー（ｐｌａｙｂａｃｋ  ｑｕｅｕｅ）によってアクセス可能なオーディオソースに関連してもよい。以下で説明される実施形態において、ボイス入力を処理するとき、メモリ２１３は、特定のＶＡＳを選択するための一セットのコマンドデータを記憶するように構成される。
【００７２】
動作中、図１Ａの環境における１つ又は複数の再生ゾーンは、それぞれ異なるオーディオコンテンツを再生していてもよい。例えば、ユーザは、「パティオ」ゾーンでグリルしながら、再生デバイス１０２ｃによって再生されるヒップホップ音楽を聞くことができる。一方、別のユーザは、「キッチン」ゾーンで食事を準備しながら、再生デバイス１０２ｉによって再生されるクラシック音楽を聞くことができる。別の例では、再生ゾーンは、同じオーディオコンテンツを別の再生ゾーンと同期して再生してもよい。例えば、ユーザは「オフィス」ゾーンにいてもよく、「オフィス」ゾーンの再生デバイス１０２ｎが、「パティオ」ゾーンの再生デバイス１０２ｃで再生されている音楽と同じヒップホップ音楽を再生してもよい。そのような場合、再生デバイス１０２ｃ及び１０２ｄは、ヒップホップ音楽を同期して再生しているため、ユーザは、異なる再生ゾーン間を移動してもアウト−ラウドで再生されるオーディオコンテンツをシームレス（又は少なくともほぼシームレス）に楽しむことができる。再生ゾーン間の同期は、前述の米国特許第８，２３４，３９５号明細書で述べられているような再生デバイス間の同期と同様の方法で行ってもよい。
【００７３】
上に示唆したように、ＭＰＳ１００のゾーン構成は、動的に変更してもよい。したがって、ＭＰＳ１００は、多くの構成をサポートしてもよい。例えば、ユーザが１つ又は複数の再生デバイスを、物理的にゾーンに移動させるか、又はゾーンから移動させる場合、ＭＰＳ１００は変更に対応するように再構成されてもよい。例えば、ユーザが再生デバイス１０２ｃを「パティオ」ゾーンから「オフィス」ゾーンに物理的に移動させる場合、「オフィス」ゾーンは、そこから再生デバイス１０２ｃと再生デバイス１０２ｎとの両方を含んでもよい。場合によっては、ユーザは例えばコントローラデバイス１０４及び／又はボイス入力を使って、移動された再生デバイス１０２ｃを「オフィス」ゾーンとペアにする又はグループ化する、及び／又は、「オフィス」ゾーンの再生デバイスの名称変更をしてもよい。別の例として、１つ又は複数の再生デバイスが、ホーム環境において、再生ゾーンを未だ設定していない特定のエリアに移動させられた場合、移動された再生デバイスは名称変更されてもよく、又は特定の空間の再生ゾーンに関連づけられてもよい。
【００７４】
更に、ＭＰＳ１００の異なる再生ゾーンは、動的にゾーングループに組み合わされてもよいし、又は別々の再生ゾーンに分割されてもよい。例えば、「ダイニングルーム」ゾーンと「キッチン」ゾーンとがディナーパーティ用のゾーングループに組み合わされることによって、再生デバイス１０２ｉと１０２ｌとがオーディオコンテンツを同期して再生することができる。一方、「デン」ゾーンの結合された再生デバイスは、（ｉ）テレビゾーンと（ｉｉ）別のリスニングゾーンとに分割されてもよい。テレビゾーンは、「フロント」再生デバイス１０２ｂを含んでもよい。リスニングゾーンは、「右」、「左」、及び「サブ」再生デバイス１０２ａ、１０２ｊ、及び１０２ｋを含んでもよく、それらは上述のとおり、グループ化、ペア化、又は併合されてもよい。「デン」ゾーンをそのように分割することにより、一人のユーザがリビングルームのあるエリアのリスニングゾーンで音楽を聴き、別のユーザがリビングルーム空間の別のエリアでテレビを見ることが可能となり得る。関連した例において、テレビゾーンとリスニングゾーンとに分割される前に「デン」ゾーンを制御するために、ユーザはＮＭＤ１０３ａ又は１０３ｂ（図１Ｂ）のいずれも利用し得る。一旦分割されると、リスニングゾーンは例えばＮＭＤ１０３ａの近傍のユーザによって制御され、テレビゾーンは例えばＮＭＤ１０３ｂの近傍のユーザによって制御されてもよい。しかし、上述のとおり、いずれのＮＭＤ１０３もＭＰＳ１００の様々な再生及びその他のデバイスを制御するように構成されてもよい。
【００７５】
ｃ．例示的なコントローラデバイス
図４Ａは、図１ＡのＭＰＳ１００のコントローラデバイス１０４の選択された１つのある態様を示す機能ブロック図である。そのようなコントローラデバイスはここで、「コントロールデバイス」、又は「コントローラ」とも呼ばれ得る。図４Ａに示されるコントローラデバイスは概して、プロセッサ４１２、プログラムソフトウェア４１４を記憶するメモリ４１３、少なくとも１つのネットワークインタフェース４２４、及び１つ又は複数のマイクロフォン４２２、などの上述のネットワークデバイスの特定のコンポーネントに類似したコンポーネントを含んでもよい。１つの例において、コントローラデバイスは、ＭＰＳ１００の専用のコントローラデバイスであってもよい。別の例では、コントローラデバイスは、例えばｉＰｈｏｎｅ（登録商標）、ｉＰａｄ（登録商標）、又はその他のスマートフォン、タブレット又はネットワークデバイス（例えば、ＰＣやＭａｃ（登録商標）などのネットワーク接続されたコンピュータ）などの、メディア再生システムのコントローラアプリケーションソフトウェアが搭載されていてもよいネットワークデバイスであり得る。
【００７６】
コントローラデバイス１０４のメモリ４１３は、コントローラアプリケーションソフトウェア及びＭＰＳ１００、及び／又はシステム１００のユーザに関連したその他のデータを記憶するように構成されてもよい。メモリ４１３には、ＭＰＳ１００のユーザアクセス、制御、及び／又は構成を容易にするなどの一定の機能を達成するためにプロセッサ４１２によって実行可能なソフトウェア４１４の指示が搭載されてもよい。上述のように、コントローラデバイス１０４は他のネットワークデバイスとワイヤレスインタフェースなどの形態をとり得るネットワークインタフェース４２４上で通信するように構成される。
【００７７】
１つの例において、システム情報（例えば、状態変数など）は、ネットワークインタフェース４２４を介してコントローラデバイス１０４とその他のデバイスとの間で伝達されてもよい。例えば、コントローラデバイス１０４はＭＰＳ１００の再生ゾーンとゾーングループの構成を再生デバイス、ＮＭＤ、又はその他のネットワークデバイスから受信してもよい。同様に、コントローラデバイス１０４は、そのようなシステム情報を再生デバイス、又はその他のネットワークデバイスへネットワークインタフェース４２４を介して送信してもよい。場合によっては、他のネットワークデバイスは、別のコントローラデバイスでもよい。
【００７８】
コントローラデバイス１０４はまた、音量制御及びオーディオ再生制御などの再生デバイスの制御コマンドを、ネットワークインタフェース４２４を介して再生デバイスへ伝達してもよい。上述のとおり、ＭＰＳ１００の構成変更もコントローラデバイス１０４を使ってユーザによって実行されてもよい。構成変更は、１つ又は複数の再生デバイスの追加／削除、１つ又は複数のゾーンのゾーングループへの追加／削除、結合又は併合再生デバイスの形成、結合又は併合再生デバイスからの１つ又は複数の再生デバイスの分離、その他、を含んでもよい。
【００７９】
図４Ａに示されるように、コントローラデバイス１０４はまた、概してユーザアクセス及びＭＰＳ１００の制御を容易にするように構成されるユーザインタフェース４４０を含む。ユーザインタフェース４４０は、図４Ｂ及び４Ｃに示されるコントローラインタフェース４４０ａ及び４４０ｂなどの様々なグラフィカルコントローラインタフェースを提供するように構成されるタッチ感応スクリーンディスプレイ又はその他のインタフェースを含んでもよい。図４Ｂ及び４Ｃを共に参照して、コントローラインタフェース４４０ａ及び４４０ｂは再生制御領域４４２、再生ゾーン領域４４３、再生ステータス領域４４４、再生キュー領域４４６、及びソース領域４４８を含む。図示のユーザインタフェースは、図４Ａに示され、ＭＰＳ１００などのメディア再生システムを制御するためにユーザによってアクセスされるコントローラデバイスなどのネットワークデバイス上に提供され得るインタフェースの一例にすぎない。異なるフォーマット、スタイル、及び対話型シーケンスによるその他のユーザインタフェースが、１つ又は複数のネットワークデバイス上において代わりに実施され、類似した制御アクセスをメディア再生システムに提供してもよい。
【００８０】
再生制御領域４４２（図４Ｂ）は、選択されると、選択された再生ゾーン又はゾーングループにある再生デバイスに、再生または停止、早送り、巻き戻し、次へスキップ、前へスキップ、シャッフルモードの開始／終了、リピートモードの開始／終了、クロスフェードモードの開始／終了、などをさせる選択可能なアイコン（例えば、タッチの方法で、又はカーソルを使って）を含んでもよい。再生制御領域４４２はまた、選択されると、イコライザの設定、及び再生音量、その他種々の変更を行う選択可能アイコンを含んでもよい。
【００８１】
再生ゾーン領域４４３（図４Ｃ）は、ＭＰＳ１００内の再生ゾーンの表示を含んでもよい。再生ゾーン領域４４３はまた、図示の「ダイニングルーム＋キッチン」ゾーングループなどのゾーングループの表示を含んでもよい。いくつかの実施例において、再生ゾーンのグラフィカルな表示が、例えば、結合されたゾーンの作成、ゾーングループの作成、ゾーングループの分割、ゾーングループの名称変更、その他など、ＭＰＳ１００内の再生ゾーンを管理又は構成するための追加の選択可能なアイコンを表示させるように選択可能でもよい。
【００８２】
例えば、図示のように「グループ」アイコンは再生ゾーンのグラフィカル表示のそれぞれに提供されてもよい。特定のゾーンのグラフィカル表示内に提供される「グループ」アイコンは、特定のゾーンとグループ化されるためのＭＰＳ１００の１つ又は複数の他のゾーンの選択肢を表示するために選択可能でもよい。一旦グループ化されると、特定のゾーンとグループ化されたゾーン内の再生デバイスは、特定のゾーンの再生デバイスと同期してオーディオコンテンツを再生するように構成される。類似的に、「グループ」アイコンはゾーングループのグラフィカル表示内に提供されてもよい。この場合、「グループ」アイコンは、ゾーングループから削除されるゾーングループ内の１つ又は複数のゾーンの選択をはずす選択肢を表示するために選択可能でもよい。ユーザインタフェースを介して、ゾーンをグループ化及びグループ解除をするための他の対話及び実施もまた可能である。再生ゾーン領域４４３（図４Ｃ）内の再生ゾーンの表示は、再生ゾーン又はゾーングループの構成が変更されるとともに動的に更新されてもよい。
【００８３】
再生ステータス領域４４４（図４Ｂ）は、現在再生されているオーディオコンテンツ、前に再生されたオーディオコンテンツ、又は選択された再生ゾーン又はゾーングループ内で次に再生するように予定されているオーディオコンテンツ、のグラフィック表示を含んでもよい。選択可能な再生ゾーン又は再生グループは、コントローラインタフェース上で、例えば、再生ゾーン領域４４３及び／又は再生ステータス領域４４４内で視覚的に区別されてもよい。グラフィック表示は、トラックタイトル、アーティスト名、アルバム名、アルバム年、トラック長さ、及び／又はＭＰＳ１００を、ユーザインタフェースを介して制御するときに、ユーザにとって有益かもしれない他の関連情報を含んでもよい。
【００８４】
再生キュー領域４４６は、選択された再生ゾーン又はゾーングループに関連付けられた再生キュー内のオーディオコンテンツのグラフィック表示を含んでもよい。いくつかの実施形態において、それぞれの再生ゾーン又はゾーングループは、再生ゾーン又はゾーングループによって再生される０以上のオーディオアイテムに対応する情報を含む再生キューに関連付けられてもよい。例えば、再生キュー内のそれぞれのオーディオアイテムは、ユー・アール・アイ（ＵＲＩ）、ユー・アール・エル（ＵＲＬ）、又は再生ゾーン又はゾーングループ内の再生デバイスによって使用可能な他の識別子を含んでもよい。これらによって、ローカルオーディオコンテンツソース又はネットワークオーディオコンテンツソース、からオーディオアイテムを見つけ、及び／又は取り出し、再生デバイスによってそれを次に再生することができる。
【００８５】
ある例では、プレイリストが再生キューに追加されてもよい。この場合、プレイリスト内のそれぞれのオーディオアイテムに対応する情報が再生キューに追加されてもよい。別の例では、再生キュー内のオーディオアイテムは、プレイリストとして保存されてもよい。更に別の例では、再生デバイスがストリーミングオーディオコンテンツ、例えば、再生時間を有する個別のオーディオアイテムよりも、停止しない限り連続して再生され得るインターネットラジオを再生し続けているとき、再生キューは、空であってもよいし、又は埋まっているが「未使用」であってもよい。別の実施形態では、再生キューは、インターネットラジオ及び／又は他のストリーミングオーディオコンテンツアイテムを含むことができ、且つ再生ゾーン又はゾーングループがそれらのアイテムを再生しているとき「使用中」とすることができる。他の例も可能である。
【００８６】
再生ゾーン又はゾーングループが「グループ化される」、又は「グループ解除される」とき、影響を受ける再生ゾーン又はゾーングループに関連した再生キューは、クリアされてもよいし、又は再び関連付けられてもよい。例えば、第一の再生キューを含む第一の再生ゾーンが、第二の再生キューを含む第二の再生ゾーンとグループ化された場合、形成されたゾーングループは、関連付けられた再生キューを有してもよい。関連付けられた再生キューは、最初は空であるか、（例えば、第二の再生ゾーンが第一の再生ゾーンに追加された場合、）第一の再生キューのオーディオアイテムを含むか、（例えば、第一の再生ゾーンが第二の再生ゾーンに追加された場合、）第二の再生キューのオーディオアイテムを含むか、又は第一の再生キューと第二の再生キューとの両方のオーディオアイテムを組み合わせられてもよい。その後、形成されたゾーングループがグループ解除された場合、その結果の第一の再生ゾーンは、前の第一の再生キューと再び関連付けられてもよいし、空の新しい再生キューに関連付けられてもよいし、あるいはゾーングループがグループ解除される前にゾーングループに関連付けられていた再生キューのオーディオアイテムを含む新しい再生キューに関連付けられてもよい。同様に、グループ解除された第二の再生ゾーンは、前の第二の再生キューと再び関連付けられてもよいし、空の新しい再生キューに関連付けられてもよいし、あるいはゾーングループがグループ解除される前にゾーングループに関連付けられていた再生キューのオーディオアイテムを含む新しい再生キューに関連付けられてもよい。その他の例もまた可能である。
【００８７】
図４Ｂ及び４Ｃを引き続き参照して、再生キュー領域４４６（図４Ｂ）内のオーディオコンテンツのグラフィック表示は、トラックタイトル、アーティスト名、トラックの長さ、及び／又は再生キュー内のオーディオコンテンツに関連付けられた他の関連情報を含んでもよい。ある例においては、オーディオコンテンツのグラフィック表示は、追加の選択可能なアイコンを選択して移動させることができる。これにより、再生キュー及び／又は再生キューに表示されたオーディオコンテンツを管理及び／又は編集することができる。例えば、表示されたオーディオコンテンツは、再生キューから取り除いてもよいし、再生キュー内の異なる位置に移動させてもよいし、すぐに再生させるか若しくは現在再生しているオーディオコンテンツの後に再生するように選択されてもよいし、あるいは他の動作を実行してもよい。再生ゾーン又はゾーングループに関連付けられた再生キューは、再生ゾーン又はゾーングループ内の１つ又は複数の再生デバイスのメモリ、再生ゾーン又はゾーングループに入っていない再生デバイスのメモリ、及び／又は他の指定のデバイスのメモリに記憶されていてもよい。そのような再生キューの再生には、キューのメディアアイテムを、おそらく順次又はランダムな順序で再生する１つ又は複数の再生デバイスが関係していてもよい。
【００８８】
ソース領域４４８は、対応するＶＡＳに関連した選択可能なオーディオコンテンツ及び／又は選択可能なボイスアシスタントのグラフィカル表示を含んでもよい。ＶＡＳは選択的に割り当てられてもよい。いくつかの例において、ＡＭＡＺＯＮのＡｌｅｘａ（登録商標）、ＭＩＣＲＯＳＯＦＴのＣｏｒｔａｎａ（登録商標）などの複数のＶＡＳが、同じＮＭＤによって発動可能でもよい。いくつかの実施形態において、ユーザはあるＶＡＳを１つ又は複数のＮＭＤ専用に割り当ててもよい。例えば、ユーザは第一のＶＡＳを図１Ａに示される「リビングルーム」のＮＭＤ１０２ａ及び１０２ｂのうちの１つ又は両方に割り当て、第二のＶＡＳを「キッチン」のＮＭＤ１０３ｆに割り当ててもよい。その他の例も可能である。
【００８９】
ｄ．例示的なオーディオコンテンツソース
ソース領域４４８のオーディオソースは、そこからオーディオコンテンツが読み出され、選択された再生ゾーン又はゾーングループで再生されるオーディオコンテンツソースでもよい。ゾーン又はゾーングループ内の１つ又は複数の再生デバイスは、再生するオーディオコンテンツを、（例えば、オーディオコンテンツの対応するＵＲＩ又はＵＲＬに基づいて、）複数の入手可能なオーディオコンテンツソースから読み出すように構成されてもよい。一例において、オーディオコンテンツは、再生デバイスによって、対応するオーディオコンテンツソース（例えば、ライン−イン接続）から直接読み出されてもよい。別の例では、オーディオコンテンツは、１つ又は複数の他の再生デバイス若しくはネットワークデバイスを介してネットワーク上の再生デバイスに提供されてもよい。以下でより詳細に説明されるように、いくつかの実施形態において、オーディオコンテンツは１つ又は複数のメディアコンテンツサービスによって提供されてもよい。
【００９０】
例示的なオーディオコンテンツソースは、メディア再生システム内の１つ又は複数の再生デバイスのメモリを含んでもよい。メディア再生システムとしては、例えば、図１のＭＰＳ１００、１つ又は複数のネットワークデバイス上のローカルミュージックライブラリ（例えば、コントローラデバイス、ネットワーク対応のパーソナルコンピュータ、又はネットワーク接続ストレージ（ＮＡＳ））、インターネット（例えば、クラウドベースの音楽サービス）を介してオーディオコンテンツを提供するストリーミングオーディオサービス、あるいは再生デバイス又はネットワークデバイスのライン−イン入力接続を介してメディア再生システムに接続されるオーディオソース、他の可能なシステムであってもよい。
【００９１】
ある実施形態では、オーディオコンテンツソースは、図１ＡのＭＰＳ１００などのようなメディア再生システムに追加されてもよいし、定期的に取り除かれてもよい。ある例では、１つ又は複数のオーディオコンテンツソースが追加される、取り除かれる、又は更新される度に、オーディオアイテムのインデックス付けが行われてもよい。オーディオアイテムのインデックス付けは、ネットワーク上で共有される全てのフォルダ／ディレクトリ内の識別可能なオーディオアイテムをスキャンすることを含んでもよい。ここで、ネットワークは、メディア再生システム内の再生デバイスによってアクセス可能である。また、オーディオアイテムのインデックス付けは、メタデータ（例えば、タイトル、アーティスト、アルバム、トラックの長さ、その他、など）、および他の関連情報を含むオーディオコンテンツデータベースを作成すること、又は更新すること、を含んでもよい。他の関連情報とは、例えば、見つかったそれぞれの識別可能なオーディオアイテムのＵＲＩ又はＵＲＬを含んでもよい。オーディオコンテンツソースを管理し、且つ維持するための他の例も可能である。
【００９２】
ｅ．例示的なネットワークマイクロフォンデバイス  
図５は、本開示の態様に従って構成されたＮＭＤ５０３を示す機能ブロック図である。ＮＭＤ５０３は、ボイス取得コンポーネント（ＶＣＣ）５６０、複数の識別エンジン５６９、及び少なくとも１つのボイス抽出器５７２を含み、それぞれがＶＣＣ５６０と動作するように接続される。ＮＭＤ５０３はさらに、マイクロフォン２２２及び上述の少なくとも１つのネットワークインタフェース２２４を含み、またオーディオ増幅器、スピーカ、ユーザインタフェースなどのその他のコンポーネントも含み得るが、これらは明確性のため図５には示されない。
【００９３】
ＮＭＤ５０３のマイクロフォン２２２は、ＮＭＤ５０３の環境からＶＣＣ５６０に検出音、ＳＤ、を提供するように構成される。検出音ＳＤは、１つ又は複数のアナログ又はデジタル信号の形態をとってもよい。例示的な実施形態において、検出音ＳＤは、ＶＣＣ５６０に供給されるそれぞれのチャンネル５６２に関連した複数の信号によって作成されてもよい。
【００９４】
各チャンネル５６２は、特定のマイクロフォン２２２に対応してもよい。例えば、６個のマイクロフォンを有するＮＭＤは、６個の対応するチャンネルを有してもよい。検出音ＳＤの各チャンネルは、他のチャンネルと特定の類似性を有し得るが、別の面では異なり得て、これは所与のチャンネルに対応するマイクロフォンの、他のチャンネルのマイクロフォンに対する相対的な位置による。例えば、検出音ＳＤの１つ又は複数のチャンネルは、他のチャンネルに比較して、より高いスピーチ対背景ノイズの信号対雑音比（ＳＮＲ）を有し得る。
【００９５】
図５にさらに示されるように、ＶＣＣ５６０は、ＡＥＣ５６４、空間プロセッサ５６６、及び１つ又は複数のバッファ５６８を含む。動作中、ＡＥＣ５６４は、検出音ＳＤを受信し、音にフィルタ又はその他の処理をして、エコーを抑制し、及び／又は検出音ＳＤの質を別途向上させる。処理された音は次に空間プロセッサ５６６に渡される。
【００９６】
空間プロセッサ５６６は通常、検出音ＳＤを分析し、音の大きさ（例えば、デシベル値）、周波数スペクトラム、方向性などの特定の特徴を識別するように構成される。ある一面では、上述のように空間プロセッサ５６６は、検出音ＳＤの構成チャンネル５６２内の類似性及び差異に基づいて、検出音ＳＤ内の周辺ノイズをユーザのスピーチからフィルタする、又は抑制する援助をしてもよい。１つの可能性として、空間プロセッサ５６６は、スピーチを他の音から区別する韻律（ｍｅｔｒｉｃｓ）をモニタしてもよい。そのような韻律は、例えば、背景ノイズに比較したスピーチ音域内のエネルギー及び多くの普通の背景ノイズよりもスピーチ内で通常低い、スピーチ音域内のエントロピー（スペクトラル構造の指標）を含んでもよい。いくつかの実施形態において、空間プロセッサ５６６は、スピーチの存在可能性を判断するように構成されてもよく、そのような機能の例は、「ノイズ抑制されたスピーチ検出用の線形フィルタ」と題する２０１８年５月１８日付けの米国特許出願第１５／９８４，０７３号明細書に開示されており、その全体がここで参照され援用される。
【００９７】
動作中、１つ又は複数のバッファ５６８は、検出音ＳＤに対応するデータをキャプチャする。バッファ５６８の１つ又は複数は、メモリ２１３の一部でもよいし、メモリ２１３とは別でもよい（図２Ａ）。より具体的には、１つ又は複数のバッファ５６８は、上流側のＡＥＣ５６４及び空間プロセッサ５６６によって処理された検出音データをキャプチャする。
【００９８】
概して、検出音データは、マイクロフォン２２２によって検出された音のデジタル表現、ＳＤＳ、（すなわち、音データのストリーミング）を形成する。実際は、音データのストリーミングＳＤＳは様々な形態をとり得る。１つの可能性として、音データのストリーミングＳＤＳは、そのそれぞれが１つ又は複数の音サンプルを含み得るフレームから成ってもよい。フレームは、ＮＭＤ５０３の識別エンジン５６９及びボイス抽出器５７２などの下流側のコンポーネントによるさらなる処理のために１つ又は複数のバッファ５６８からストリーミングされてもよい（すなわち、読み上げられてもよい）。
【００９９】
いくつかの実施形態において、少なくとも１つのバッファ５６８は、スライディングウィンドウアプローチを使って、検出音データをキャプチャする。そのアプローチにおいては、直近にキャプチャされた検出音データの所与の量（すなわち、所与のウィンドウ）が少なくとも１つのバッファ５６８に保持され、より古い検出音がウィンドウから外にはずれたとき、上書きされる。例えば、少なくとも１つのバッファ５６８は、任意の時点で音の標本の２０フレーム分を一時的に保持し、最も古いフレームを期限切れ後に捨て、次に新しいフレーム１つをキャプチャし、音の標本の既存の１９フレームに加えてもよい。
【０１００】
実際は、音データのストリーミングＳＤＳがフレーム群によって作られるとき、フレーム群は様々な特徴を有する様々な形態をとり得る。１つの可能性として、フレーム群は、あるサンプリングレート（例えば、４４，１００Ｈｚ）に基づく特定の解像度（例えば、解像度１６ビット）のオーディオフレーム群の形態をとり得る。加えて、又は代わりに、フレーム群はフレーム群が定義する所与の音標本に対応するメタデータなどの情報を含んでもよく、メタデータは例えば、周波数応答特性、パワー入力レベル、ＳＮＲ、マイクロフォンチャンネル識別、及び／又は所与の音標本のその他の情報などを示す。したがって、いくつかの実施形態において、フレームは、音の一部（例えば、所与の音標本の１つ又は複数のサンプル）、及びその音の一部に関するメタデータを含んでもよい。別の実施形態において、フレームは、音の一部（例えば、所与の音標本の１つ又は複数のサンプル）、又はその音の一部に関するメタデータのみを含んでもよい。
【０１０１】
いずれにしても、ＮＭＤ５０３の下流側のコンポーネントは、音データのストリーミングＳＤＳを処理してもよい。例えば、識別エンジン５６９は、音データのストリーミングＳＤＳ（ストリーミングされた音フレーム群）に１つ又は複数の識別アルゴリズムを適用し、ウェイクワードの候補を検出音ＳＤ内で見つけるように構成され得る。識別エンジン５６９は、キーワードスポッタ５７６、第一のウェイクワードエンジン５７０ａ、第二のウェイクワードエンジン５７０ｂ、及び図７に関して下により詳細に説明されるような任意のその他のエンジン５７１ａを含む。識別エンジン５６９がウェイクワード候補を見つけたとき、１つ又は複数の識別エンジン５６９は「ウェイクワードイベント」（「ウェイクワードトリガ」とも呼ばれる）の指示をボイス抽出器５７２に提供できる。
【０１０２】
ウェイクワードイベントに応答して（例えば、ウェイクワードイベントを指示する識別エンジン５６９からの信号に応答して）、ボイス抽出器５７２は音データのストリーミングＳＤＳを受信してフォーマットする（例えば、パケット化する）ように構成される。例えば、ボイス抽出器５７２は、音データのストリーミングＳＤＳのフレーム群をメッセージへとパケット化する。ボイス抽出器５７２は、ボイス入力を含み得るこれらのメッセージ、Ｍｖ、をリアルタイム又はほぼリアルタイムでＶＡＳ１９０（図１Ｂ）などの遠隔ＶＡＳにネットワークインタフェース２１８を介して送信又はストリーミングする。
【０１０３】
ＶＡＳは、ＮＭＤ５０３から送られたメッセージＭｖに含まれる音データのストリーミングＳＤＳを処理するように構成される。より具体的には、ＶＡＳは、音データのストリーミングＳＤＳに基づいて、ボイス入力を識別するように構成される。図６Ａを参照して、ボイス入力６８０は、ウェイクワード部６８０ａ及び発声部６８０ｂを含んでもよい。ウェイクワード部６８０ａは、ウェイクワードイベントの原因となった検出音に対応する。例えば、ウェイクワード部６８０ａは、識別エンジン５６９がウェイクワードイベントの指示をボイス抽出器５７２に提供する原因となった検出音に対応する。発声部６８０ｂは、ウェイクワード部６８０ａに続くユーザリクエストを潜在的に含む検出音に対応する。
【０１０４】
図解例として、図６Ｂは例示的な第一の音標本を示す。この例において、音標本は図６Ａの、発見されたウェイクワード６８０ａに関連する音データのストリーミングＳＤＳ（例えば、１つ又は複数のオーディオフレーム群）に対応する。図示されるように、例示的な第一の音標本は、（ｉ）プレロール部分（ｔ０とｔ１の間）とも呼ばれ得る、ウェイクワードが発生される寸前、（ｉｉ）ウェイクメータ部分（ｔ１とｔ２の間）とも呼ばれ得る、ウェイクワードが発生されている間、及び／又は（ｉｉｉ）ポストロールの部分（ｔ２とｔ３の間）とも呼ばれ得る、ウェイクワードが発生された後、に再生デバイス１０２ｉの環境内に検出された音を含む。その他の音標本も可能である。
【０１０５】
通常、ＶＡＳは、はじめにストリーミングＳＤＳ内のウェイクワード部６８０ａを処理し、ウェイクワードの存在を認証してもよい。いくつかの例において、ＶＡＳは、ウェイクワード部６８０ａが誤ったウェイクワード（例えば「アレクシャ」という単語が目標ウェイクワードの際の「エレクション」という単語など）を含んでいると判断する場合がある。そのようなことが起こると、ＶＡＳは、ＮＭＤ５０３（図５）に、ＮＭＤ５０３が音データの抽出を止める命令とともに応答を送信してもよく、それにより、ボイス抽出器５７２は、検出された音データのＶＡＳへのさらなるストリーミングを止めてもよい。識別エンジン５６９（例えば、キーワードスポッタ５７６）の１つ又は複数は、別のウェイクワード候補が別のウェイクワードイベントにつながるまで、音標本のモニタを再開又は継続してもよい。いくつかの実施形態において、ＶＡＳはウェイクワード部６８０ａの処理や受信をせず、代わりに、発声部６８０ｂのみを処理してもよい。
【０１０６】
いずれにしても、ＶＡＳは発声部６８０ｂを処理して検出音データ内の任意の単語の存在を識別し、それらの単語から根底の意図を判断する。単語は特定のコマンド及び特定のキーワード６８４（図６Ａ内で第一のキーワード６８４ａ及び第二のキーワード６８４ｂとして個々に識別される）に対応してもよい。キーワードは、例えばＭＰＳ１００の特定のデバイス又はグループを識別するボイス入力６８０内の単語である。例えば、図示された例において、キーワード６８４は、音楽が再生されるべき「リビングルーム」及び「ダイニングルーム」などの１つ又は複数のゾーンを識別する１つ又は複数の単語であってもよい。
【０１０７】
単語の意図を判断するために、ＶＡＳは通常、ＶＡＳと関連した１つ又は複数のデータベース（図示せず）、及び／又はＭＰＳ１００の１つ又は複数のデータベース（図示せず）と通信する。そのようなデータベースは、自然言語処理及び／又はその他の処理のための様々なユーザデータ、アナリティクス、カタログ、及びその他の情報を記憶してもよい。いくつかの実施形態において、そのようなデータベースは、ボイス入力処理に基づいてニューラルネットワークの適応的学習及びフィードバックのためにアップデートされてもよい。図６Ａに示されるように、いくつかの場合において、発声部６８０ｂは、ユーザによって発生された単語間の検出された休止（スピーチが無い期間）などの追加情報を含んでもよい。休止は、発声部６８０ｂ内でユーザによって発生された個々のコマンド、キーワード、又はその他の情報を区切ってもよい。
【０１０８】
特定のコマンドクライテリアに基づいて、コマンド６８２などのボイス入力内に１つ又は複数のコマンドを識別した結果としてＶＡＳが動作してもよい。コマンドクライテリアは、特定のキーワードがボイス入力内に含まれていることに基づいてもよいし、他の可能性も考えられる。加えて、又は代わりに、コマンドのコマンドクライテリアは、１つ又は複数の特定のコマンドの識別とともに、１つ又は複数の制御状態及び／又はゾーン状態変数の識別を含んでもよい。制御状態変数は、例えば音量レベル、１つ又は複数のデバイスに関連するキュー、及びデバイスがキューを再生中か、休止中かなどの再生状態を識別するインジケータを含んでもよい。ゾーン状態変数は、例えばゾーンのグループ化がある場合、いずれのゾーンの再生器がグループ化されているかを識別するインジケータを含んでもよい。
【０１０９】
ボイス入力を処理した後、ＶＡＳは、それがボイス入力から判断した意図に基づいて、１つ又は複数の動作を実行する命令とともに応答をＭＰＳ１００に送信してもよい。例えば、ボイス入力に基づいて、ＶＡＳはＭＰＳ１００に１つ又は複数の再生デバイス１０２で再生を開始するように、１つ又は複数のこれらのデバイスを制御するように（例えば、音量の変更、デバイスのグループ化もしくはグループ解除など）、特定のスマートデバイスのオン／オフ、などを含む動作をするように命令してもよい。上述のように、ＶＡＳから応答を受信した後、ＮＭＤ５０３の１つ又は複数の識別エンジン５６９は、別のウェイクワード候補を見つけるまで、音データのストリーミングＳＤＳのモニタを再開又は継続してもよい。
【０１１０】
図５の参照に戻り、複数のＶＡＳの実施において、ＮＭＤ５０３は、所与のウェイクワードが第一のウェイクワードエンジン５７０ａ、第二のウェイクワードエンジン５７０ｂ、又は追加のエンジン５７１などの特定のウェイクワードエンジンによって識別されたとき、ボイス抽出器の抽出及び音データのストリーミングＳＤＳの適切なＶＡＳへの送信を命令するよう概して構成されるＶＡＳセレクタ５７４（破線で示される）を含んでもよい。そのような実施形態において、ＮＭＤ５０３は、それぞれが特定のＶＡＳによってサポートされる複数の異なるウェイクワードエンジン及び／又はボイス抽出器を含んでもよい。上の説明と同様に、各ウェイクワードエンジンは、１つ又は複数のバッファ５６８からの音データのストリーミングＳＤＳを入力として受信し、識別アルゴリズムを適用して適切なＶＡＳのウェイクワードトリガを発声させるように構成されてもよい。したがって、１つの例として、第一のウェイクワードエンジン５７０ａは、「Ａｌｅｘａ」というウェイクワードを識別し、「Ａｌｅｘａ」が発見されるとＮＭＤ５０３にＡＭＡＺＯＮのＶＡＳを発動させるように構成されてもよい。別の例として、第二のウェイクワードエンジン５７０ｂは、「Ｏｋ、Ｇｏｏｇｌｅ」というウェイクワードを識別し、「Ｏｋ、Ｇｏｏｇｌｅ」が発見されるとＮＭＤ５０３にＧＯＯＧＬＥのＶＡＳを発動させるように構成されてもよい。単一のＶＡＳの実施においては、ＶＡＳセレクタ５７４は省略されてもよい。
【０１１１】
追加の、又は代替の実施形態において、ＮＭＤ５０３は、ＮＭＤ５０３を遠隔ＶＡＳの補助がなくても動作可能にさせる他のボイス入力識別エンジン５７１（破線で示される）を含んでもよい。例えば、そのようなエンジンは、検出音の中に特定のコマンド（例えば、「再生して」、「休止して」、「オンにして」など）及び／又は所与の再生デバイスに割り当てられた固有の名称（例えば、「ブックケース」、「パティオ」、「オフィス」など）などの特定のキーワードやフレーズを識別してもよい。１つ又は複数のこれらのコマンド、キーワード、及び／又はフレーズを識別することに応じて、ＮＭＤ５０３はオーディオ処理コンポーネント２１６（図２Ａ）に１つ又は複数の動作を実行させる信号（図５に示されない）を通信してもよい。例えば、ユーザが「ヘイ、ソノズ。オフィスの音楽を止めて。」と言うと、ＮＭＤ５０３はオフィス再生デバイス１０２ｎに直接又は１つ又は複数のＭＰＳ１００の他のデバイスを介して間接的に信号を通信してもよい。それにより、オフィスデバイス１０２ｎにオーディオ再生を停止させる。遠隔ＶＡＳからの補助の必要を低減する又は排除することは、ボイス入力を遠隔で処理する場合通常生じる待ち時間を低減できる場合がある。場合によっては、採用される識別アルゴリズムは、前に発話されるウェイクワード無しで発生されるコマンドを識別するように構成されてもよい。例えば、上の例において、ＮＭＤ５０３は、ユーザがはじめに「ヘイ、ソノズ」又はその他のウェイクワードを発声することなく、オフィスの音楽を停止させるイベントをトリガする識別アルゴリズムを採用してもよい。
【０１１２】
ＩＩＩ．ウェイクワードの二段階検出の例示的なシステム及び方法
図５に示すように、ＮＭＤ５０３の識別エンジン５６９は、キーワードスポッタ５７６を第一及び第二のウェイクワードエンジン５７０ａ及び５７０ｂ、さらに上述のその他のボイス入力識別エンジン５７１の上流側に含む。動作中、音データのストリーミングＳＤＳは、ＶＣＣ５６０からキーワードスポッタ５７６へ伝達される。キーワードスポッタ５７６は、音データのストリーミングＳＤＳを分析し、ウェイクワード又はコマンドなどのキーワードを検出する。以下でより詳細に説明されるように、いくつかの実施形態において、キーワードスポッタ５７６は、音データのストリーミングＳＤＳ内のキーワード候補を識別する。音データのストリーミングＳＤＳ内に１つ又は複数のキーワード又はキーワード候補が見つかると、キーワードスポッタ５７６はまた適切な出力を選択し、追加の処理のために音データのストリーミングＳＤＳを提供する。図示されるように、キーワードスポッタ５７６は音データのストリーミングＳＤＳを第一のウェイクワードエンジン５７０ａ、第二のウェイクワードエンジン５７０ｂ、及び／又はローカルデバイスの機能用に構成されたその他のエンジン５７１に伝達可能である。いくつかの実施形態において、出力先はキーワードスポッタ５７６を介して音データのストリーミングＳＤＳ内で発見されたキーワードに基づいて判断される。
【０１１３】
いくつかの実施形態において、キーワードスポッタ５７６は音データのストリーミングＳＤＳに第一のアルゴリズムを実行可能であり、ボイス入力内の予備の又は候補となるウェイクワードを識別する。この第一のアルゴリズムは第一及び／又は第二のウェイクワードエンジン５７０ａ及び５７０ｂによって使われる下流側のアルゴリズムよりも、演算の複雑さがより小さく、及び／又はメモリ消費量がより小さい可能性がある。いくつかの実施形態において、第一のアルゴリズムはボイス入力が「Ａｌｅｘａ」、「Ｏｋ、Ｇｏｏｇｌｅ」、及び「Ｈｅｙ、Ｓｉｒｉ」などの可能性のある複数のウェイクワードの中から１つのウェイクワードを含むか否かを判断することに使われる。
【０１１４】
いくつかの実施形態において、キーワードスポッタ５７６は、確率スコア又はレンジを音データのストリーミングＳＤＳ内のウェイクワード候補に割り当てるように構成される。例えば、第一のアルゴリズムは、ウェイクワード「Ｏｋ、Ｇｏｏｇｌｅ」が音データのストリーミングＳＤＳ内に検出されたことに８０％の確率があると示し得る。その場合、「Ｏｋ、Ｇｏｏｇｌｅ」が候補の又は予備のウェイクワードとして識別され得る。いくつかの実施形態において、識別されたウェイクワード候補は、特定の最低確率スコア閾値を要する。例えば、６０％以上の確率で識別されたウェイクワードがウェイクワード候補として識別され、６０％以下の確率で識別されたウェイクワードはウェイクワード候補として識別されなくてもよい。異なる実施形態において、閾値は様々であり得て、例えば、５０％以上、６０％以上、７０％以上、８０％以上、又は９０％以上の確率などである。いくつかの実施形態において、単一の音データのストリーミングＳＤＳ内で２つの異なるウェイクワードにそれぞれ確率スコアが割り当てられ得て、それぞれがウェイクワード候補として識別される。
【０１１５】
キーワードスポッタ５７６によって採用された第一のアルゴリズムは、現在知られたもの、今後開発されるもの、又はそれらから派生したものなどの様々なキーワードスポッティングアルゴリズムを含むことができる。いくつかの実施形態において、第一のアルゴリズムはキーワードスポッティングに、ディープニューラルネットワーク（ＤＮＮ）、畳み込みニューラルネットワーク（ＣＮＮ）、又は回帰型ニューラルネットワーク（ＲＮＮ）などのニューラルネットワークを使って、大量のキーワード特定トレーニングデータに基づいてキーワードをモデルする。いくつかの実施形態において、キーワードスポッタ５７６によって利用されたニューラルネットワークは、ニューラルネットワークの演算の複雑さ及び／又はメモリ消費量の著しい低減を達成するために圧縮されたものである。これにより、過大な電力又はメモリの消費がなくニューラルネットワークをローカルのＮＭＤ又は再生デバイスに記憶させることが可能になる。ウェイクワード検出のニューラルネットワークの圧縮に関するさらなる詳細は、図８〜１０に関して以下で説明される。
【０１１６】
キーワードスポッタ５７６を介したウェイクワードの予備的な検出に基づいて、音データのストリーミングＳＤＳは、第一のウェイクワードエンジン５７０ａ、又は第二のウェイクワードエンジン５７０ｂなどの、適切なウェイクワードエンジンに伝達され得る、又はボイス入力は、ローカルデバイスの機能用に構成された別のエンジン５７１に伝達され得る。いくつかの実施形態において、第一及び／又は第二のウェイクワードエンジン５７０ａ及び５７０ｂは、異なるボイスアシスタントサービスと関連し得る。例えば、第一のウェイクワードエンジン５７０ａは、ＡＭＡＺＯＮのボイスアシスタントサービスと関連し得て、第二のウェイクワードエンジン５７０ｂは、ＧＯＯＧＬＥのボイスアシスタントサービスと関連し得る。さらに、ここでは示されない、例えばＡＰＰＬＥボイスアシスタントサービスと関連した第三のウェイクワードエンジンなどの別のウェイクワードエンジンが含まれてもよい。これらのウェイクワードエンジンそれぞれは、キーワードスポッタ５７６による判断に応じて使用可能に（例えば、パワーアップ）されたり、使用不可能に（例えば、パワーダウン）されたりしてもよい。その結果、特定のウェイクワードエンジンはキーワードスポッタ５７６によって選択されたときのみに動作可能となり、起動されてもよい。
【０１１７】
ウェイクワードエンジン５７０ａ及び５７０ｂのそれぞれは、キーワードスポッタ５７６から受信した音データのストリーミングＳＤＳを分析し、確認されたウェイクワードを検出するように構成される。確認されたウェイクワードは、キーワードスポッタ５７６によって既に識別されたものと同じウェイクワードであり得る。いくつかの実施形態において、第一又は第二のウェイクワードエンジン５７０ａ、又は５７０ｂ（いずれが選択されるかに依存して）が、より高い正確さを有し、したがって検出されたウェイクワードの信頼性がより高い。確認されたウェイクワードを検出するために、第一及び第二のウェイクワードエンジン５７０ａ、及び５７０ｂは、演算負荷がより高いアルゴリズムを使い得る。一例において、キーワードスポッタ５７６は、「Ａｌｅｘａ」というキーワード候補を識別し、続いて、ＡＭＡＺＯＮボイスサービスと関連した第一のウェイクワードエンジン５７０ａをボイス入力のさらなる処理のために選択する。次に、第一のウェイクワードエンジン５７０ａはボイス入力を分析して、ボイス入力内の「Ａｌｅｘａ」というウェイクワードの存在を確認又は否定する。ウェイクワードが確認された場合、ＮＭＤ５０３は、音データのストリーミングＳＤＳ（例えば、図６Ａのボイス発声部６８０ｂ）の追加のデータを適切なボイスアシスタントサービスに上述のようなさらなる処理のために伝達可能である。ウェイクワードが否定された場合、ＮＭＤ５０３は、その特定の音データのストリーミングＳＤＳに関してはそれ以上の動作をしないかもしれず、又はＮＭＤ５０３は、予備的なウェイクワードは第一のウェイクワードエンジン５７０ａによって否定されたことを示す警報又はその他の出力を提供してもよい。
【０１１８】
上述のとおり、様々なウェイクワードエンジン５７０ａ及び５７０ｂは、それぞれ異なるボイスサービスに関連し得る。そのようなウェイクワードエンジンは、ボイス入力内の確認されたウェイクワードの識別に、現在知られたもの、今後開発されるもの、又はそれらから派生したものなどの異なるアルゴリズムを利用してもよい。そのようなアルゴリズムの例は、以下のものを含むが、それらに限定されない。それらは、（ｉ）キャプチャされたオーディオのスライディングタイムインターバル内の特徴がキーワードモデルと比較されるスライディングウィンドウモデル、（ｉｉ）隠れマルコフモデル（Ｈｉｄｄｅｎ   Ｍａｒｋｏｖ   Ｍｏｄｅｌ：ＨＭＭ）が各キーワード及びキーワード以外のワードに構築され、キーワード以外のワードが、キーワードスピーチから、キーワード以外のスピーチを区別する補助に使われるガーベージモデル、（ｉｉｉ）入力スピーチが所定のキーワードが検索される格子（ｌａｔｔｉｃｅｓ）にデコードされる大語彙連続音声認識（Ｌａｒｇｅ   Ｖｏｃａｂｕｌａｒｙ   Ｃｏｎｔｉｎｕｏｕｓ   Ｓｐｅｅｃｈ   Ｒｅｃｏｇｎｉｔｉｏｎ：ＬＶＣＳＲ）の利用、及び（ｉｖ）大量のキーワード特定トレーニングデータに基づいてキーワードをモデルするための、ディープニューラルネットワーク（ＤＮＮ）、畳み込みニューラルネットワーク（ＣＮＮ）、又は回帰型ニューラルネットワーク（ＲＮＮ）などのニューラルネットワークの利用、である。
【０１１９】
上述のとおり、いくつかの実施形態において、キーワードスポッタ５７６は、音データのストリーミングＳＤＳを第一及び／又は第二のウェイクワードエンジン５７０ａ、及び５７０ｂに伝達する代わりに、又はそれに加えて、音データのストリーミングＳＤＳを別のエンジン５７１に伝達可能である。キーワードスポッタ５７６が音データのストリーミングＳＤＳ内にローカルデバイスコマンドなどのキーワードを識別した場合、キーワードスポッタ５７６はこの入力をそのコマンドの実行のために別のエンジン５７１に伝達可能である。一例として、キーワードスポッタ５７６が「音量を上げて」というキーワードを検出した場合、キーワードスポッタ５７６は音データのストリーミングＳＤＳを別のエンジン５７１に伝達してもよい。様々な実施形態において、別のエンジン５７１は、再生音量の変更、トラック制御（休止、スキップ、リピートなど）、デバイスのグループ化又はグループ解除、マイクロフォンの停止、又はその他のあらゆるローカルデバイス機能などの多くの異なる機能を実行するコンポーネントを含み得る。いくつかの実施形態において、別のエンジン５７１は音データのストリーミングＳＤＳを受信した特定のＮＭＤにおける機能の実行に限定される。別の実施形態において、別のエンジン５７１は、音データのストリーミングＳＤＳを受信したＮＭＤと通信している他の再生デバイス又はＮＭＤにおいて機能を実行させ得る。
【０１２０】
ａ．例示的なウェイクワードの二段階検出
上述のとおり、いくつかの例において、ＮＭＤは受信されたオーディオをモニタして分析し、受信されたオーディオ内に、いずれかのウェイクワードが存在するか否かを判断するように構成される。図７は、受信されたオーディオ内にいずれかのウェイクワードが存在するか否かをＮＭＤが判断する方法７００の例示的な実施形態を示す。方法７００は、ここで開示及び／又は説明されるいかなるＮＭＤ、又は現在知られた又は今後開発されるいかなるにおいても実行され得る。
【０１２１】
方法７００の様々な実施形態は、ブロック７０２から７１８で示される、１つ又は複数の操作、機能、及び動作を含む。ブロックは順序どおりに示されるが、ブロックはまた並行して、及び／又はここで開示及び説明される順序とは異なる順序で実行されてもよい。また、様々なブロックは、望む実施形態に基づいて、組み合わせられて少数のブロックにされる、追加されて多数のブロックにされる、及び／又は削除されてもよい。
【０１２２】
方法７００は、１つ又は複数のマイクロフォンを介して検出された音データをＮＭＤがキャプチャすることを含むブロック７０２から開始される。キャプチャされた音データはＮＭＤの環境からの音データを含み、いくつかの例においては、図６Ａに示されるボイス入力６８０などのボイス入力を含む。
【０１２３】
ブロック７０４において、方法７００は、ＮＭＤが第一のアルゴリズムを使って音データ内のウェイクワード候補を識別することを含む。ウェイクワード候補は、可能性のある複数のウェイクワードの中からの１つであり得て、いくつかの例においては、複数のウェイクワードの各ウェイクワードは複数のボイスサービスのうちの各ボイスサービスに対応する。いくつかの実施形態において、このことは、ＮＭＤが、図５に関連して上述したキーワードスポッタ５７６に、ウェイクワード候補を検出するためにウェイクワード検出アルゴリズムを利用させることを含む。加えて、いくつかの実施形態において、複数のウェイクワードは、（ｉ）ＡＭＡＺＯＮボイスサービスに対応する「Ａｌｅｘａ」というウェイクワード、（ｉｉ）ＧＯＯＧＬＥボイスサービスに対応する「Ｏｋ、Ｇｏｏｇｌｅ」というウェイクワード、又は（ｉｉｉ）ＡＰＰＬＥボイスサービスに対応する「Ｈｅｙ、Ｓｉｒｉ」というウェイクワードのうちの１つ又は複数を含む。したがって、いくつかの例において、第一のウェイクワード検出工程を実行するための第一のアルゴリズムを利用することは、ＮＭＤが第一のアルゴリズムを使ってキャプチャされた音データが、「Ａｌｅｘａ」、「Ｏｋ、Ｇｏｏｇｌｅ」、及び「Ｈｅｙ、Ｓｉｒｉ」などの複数のウェイクワードを含むか否かを判断することを含む。さらに、いくつかの例において、ＮＭＤが第一のアルゴリズムを並行して使い、キャプチャされた音データが、複数のウェイクワードを含むか否かを並行して判断する。
【０１２４】
加えて、いくつかの実施形態において、複数のウェイクワードは、（ｉ）ＡＭＡＺＯＮボイスサービスに対応する「Ａｌｅｘａ」というウェイクワード、（ｉｉ）ＧＯＯＧＬＥボイスサービスに対応する「Ｏｋ、Ｇｏｏｇｌｅ」というウェイクワード、又は（ｉｉｉ）ＡＰＰＬＥボイスサービスに対応する「Ｈｅｙ、Ｓｉｒｉ」というウェイクワードのうちの１つ又は複数を含む。したがって、いくつかの例において、第一のウェイクワード検出工程を実行するための第一のアルゴリズムを利用することは、ＮＭＤが第一のアルゴリズムを使って取得された音データが、「Ａｌｅｘａ」、「Ｏｋ、Ｇｏｏｇｌｅ」、及び「Ｈｅｙ、Ｓｉｒｉ」などの複数のウェイクワードを含むか否かを判断することを含む。さらに、いくつかの例において、ＮＭＤが第一のアルゴリズムを並行して使い、取得された音データが、複数のウェイクワードを含むか否かを並行して判断する。
【０１２５】
いくつかの実施形態において、ウェイクワード候補を識別することは、確率スコア又はレンジを１つ又は複数のウェイクワードに割り当てることを含む。例えば、第一のアルゴリズムは、ウェイクワード「Ａｌｅｘａ」がボイス入力内に検出されたことに７０％の確率があると示し得て、その場合、「Ａｌｅｘａ」がウェイクワード候補としてみなされ得る。いくつかの実施形態において、２つの異なるウェイクワードにそれぞれ確率スコア又はレンジが割り当てられ得て、それぞれがウェイクワード候補として識別される。
【０１２６】
上述のとおり、ウェイクワード候補を識別するためにブロック７０４で採用された第一のアルゴリズムは、現在知られたもの、今後開発されるもの、又はそれらから派生したものなどの様々なキーワードスポッティングアルゴリズムを含み得る。いくつかの実施形態において、第一のアルゴリズムはキーワードスポッティングに、大量の特定のキーワードトレーニングデータに基づいてキーワードをモデルするための、ディープニューラルネットワーク（ＤＮＮ）、畳み込みニューラルネットワーク（ＣＮＮ）、又は回帰型ニューラルネットワーク（ＲＮＮ）などのニューラルネットワークを使用する。いくつかの実施形態において、ブロック７０４において利用されたニューラルネットワークは、ニューラルネットワークの演算の複雑さ及び／又はメモリ消費量の著しい低減を達成するために圧縮されたものである。これにより、過大な電力又はメモリの消費がなくニューラルネットワークをローカルのＮＭＤ又は再生デバイスに記憶させることが可能になる。ウェイクワード検出のニューラルネットワークの圧縮に関するさらなる詳細は、図８〜１０に関して下に説明される。
【０１２７】
ブロック７０６において、方法７００は、いずれかのウェイクワード候補がブロック７０４において音データの中に検出されたか否かをＮＭＤが判断することを含む。ＮＭＤが、キャプチャされた音データの中に複数のウェイクワードのうちのいずれも候補として識別しなかった場合、方法７００は、ブロック７０２に戻り、ＮＭＤは音データ内のウェイクワード候補を識別するために、追加の音データをキャプチャし続け、その追加の音データを第一のアルゴリズムを使って処理し続ける。代わりに、ＮＭＤが第一のアルゴリズムを使って特定のウェイクワードを識別した場合、方法７００は、ブロック７０８に進み、ＮＭＤはキャプチャされた音データ内にウェイクワード候補が存在するか否かを確認しようとする。
【０１２８】
音データ内のウェイクワード候補の識別に応答して、ＮＭＤは、ブロック７０８で第一のウェイクワードエンジン、又はブロック７０９で第二のウェイクワードエンジンを選択して起動させる。いくつかの実施形態において、第一のウェイクワードエンジンを起動させることは、ＮＭＤがパワーアップする（例えば、低いパワー又はゼロパワーの状態から、高いパワーの状態へ）又はその他の方法で、特定のウェイクワードエンジンコンポーネントがキャプチャされた音データの分析を行えるようにする。
【０１２９】
第一のウェイクワードエンジンと第二のウェイクワードエンジンとの間の選択は、ブロック７０４において音データ内に検出された特定のウェイクワード候補に基づいて行われ得る。例えば、第一のウェイクワードエンジンは第一のＶＡＳに関連し得て、第二のウェイクワードエンジンは第二のＶＡＳに関連し得る。ウェイクワード候補が第一のＶＡＳと関連する場合、ブロック７０８において第一のウェイクワードエンジンが選択され、起動される。逆にウェイクワード候補が第二のＶＡＳと関連する場合、ブロック７０９において第二のウェイクワードエンジンが選択され、起動される。
【０１３０】
一例において、第一のウェイクワードエンジンは「Ａｌｅｘａ」というウェイクワードを検出するように構成され、ブロック７０６において、予備的なウェイクワード検出工程が「Ａｌｅｘａ」というワードをウェイクワード候補として検出したとＮＭＤが判断した場合、それに応じてＮＭＤは、ブロック７０８において第一のウェイクワードエンジンを起動させ、ブロック７１０において、音データ内の「Ａｌｅｘａ」というウェイクワード候補の存在を確認又は否定する。同じ又は別の例において、第二のウェイクワードエンジンは「Ｏｋ、Ｇｏｏｇｌｅ」というウェイクワードを検出するように構成され、ブロック７０４において識別された予備的なウェイクワードが「Ｏｋ、Ｇｏｏｇｌｅ」であると、ブロック７０６においてＮＭＤが判断した場合、それに応じてＮＭＤは、ブロック７０９において第二のウェイクワードエンジンを起動させ、ブロック７１１において、音データ内の「Ｏｋ、Ｇｏｏｇｌｅ」の存在を確認又は否定する。いくつかの実施形態において、方法７００は、追加のウェイクワード検出モジュールを使って追加のウェイクワード検出工程を実行することを含む。例えば、いくつかの実施形態において、方法７００は、ＮＭＤが、検出するように構成される各ウェイクワード用の、それぞれのウェイクワード検出モジュールを使うことを含む。
【０１３１】
ブロック７０８において、方法７００は、ＮＭＤが、第一のウェイクワードエンジンに音データを分析させ、音データ内のウェイクワード候補の存在を確認又は否定することを含む。確認された場合、ＮＭＤは、確認されたウェイクワードを出力できる。確認されたウェイクワードは、ブロック７０４において前に予備的に識別されたものと同じウェイクワードであり得るが、第一のウェイクワードエンジンはより高い正確度を有し得ると予測されるため、検出されたウェイクワードもより高い信頼性を有し得る。いくつかの実施形態において、第一のウェイクワードエンジンは、確認されたウェイクワードの検出のために、ウェイクワード候補を識別するために使用される第一のアルゴリズムよりも演算負荷がより高いアルゴリズムを使い得る。一例において、第一のアルゴリズムがブロック７０４において「Ａｌｅｘａ」というウェイクワードを候補として識別し、ブロック７０８において、ＡＭＡＺＯＮボイスサービスに関連するウェイクワードエンジンが選択される。続いてブロック７１０においてＡＭＡＺＯＮウェイクワードエンジンは、音データを分析して、音データ内の「Ａｌｅｘａ」の存在を確認又は否定する。ＡＭＡＺＯＮウェイクワードエンジンが「Ａｌｅｘａ」というウェイクワードを識別した場合、それは確認されたウェイクワードとして識別される。別の例において、第一のアルゴリズムがブロック７０４において「Ｏｋ、Ｇｏｏｇｌｅ」というウェイクワードを候補として識別し、ブロック７０８において、ＧＯＯＧＬＥボイスサービスに関連するウェイクワードエンジンが選択される。続いてブロック７１０においてＧＯＯＧＬＥウェイクワードエンジンは、音データを分析して、音データ内の「Ｏｋ、Ｇｏｏｇｌｅ」の存在を確認又は否定する。
【０１３２】
予備的なウェイクワード検出及び下流側のウェイクワードエンジンに関連して上述されたアルゴリズムは、現在知られたもの、今後開発されるもの、又はそれらから派生したものなどの様々なキーワードスポッティングアルゴリズムを含んでもよい。キーワードスポッティングアルゴリズムの例は、以下のものを含むが、それらに限定されない。それらは、（ｉ）キャプチャされたオーディオのスライディングタイムインターバル内の特徴がキーワードモデルと比較されるスライディングウィンドウモデル、（ｉｉ）隠れマルコフモデル（ＨＭＭ）が各キーワード及びキーワード以外のワードに構築され、キーワード以外のワードが、キーワードスピーチから、キーワード以外のスピーチを区別する補助に使われるガーベージモデル、（ｉｉｉ）入力スピーチが所定のキーワードが検索される格子（ｌａｔｔｉｃｅｓ）にデコードされる大語彙連続音声認識（ＬＶＣＳＲ）の利用、及び（ｉｖ）大量の特定のキーワードトレーニングデータに基づいてキーワードをモデルするための、ディープニューラルネットワーク（ＤＮＮ）、畳み込みニューラルネットワーク（ＣＮＮ）、又は回帰型ニューラルネットワーク（ＲＮＮ）などのニューラルネットワークの利用、である。ニューラルネットワークの使用に関するさらなる詳細は、図８〜１０に関して下に説明される。
【０１３３】
ブロック７１２において、方法７００は、確認されたウェイクワードがキャプチャされた音データの中で検出されたか否かを判断することを含む。確認されたウェイクワードがブロック７１０又はブロック７１１において検出された場合、方法７００は、ブロック７１４に進む。そして、ブロック７１０又はブロック７１１において確認されたウェイクワードが検出されなかった（すなわち、ブロック７１０又はブロック７１１において予備的なウェイクワードが否定された）場合、方法７００は、ブロック７１６に進む。
【０１３４】
ブロック７１４において、方法７００は、ＮＭＤが、そのネットワークインタフェースを介して、特定のウェイクワードに対応する各ボイスサービスにキャプチャされた音データを処理させることを含む。いくつかの実施形態において、これははじめに、複数のボイスサービスの各ボイスサービスのいずれが特定のウェイクワードに対応するかを識別することを含み、その例は、米国特許出願第１５／２２９，８６８号明細書に開示されており、その全体がここで参照され援用される。
【０１３５】
いくつかの実施形態において、キャプチャされた音データを各ボイスサービスに処理させることは、ＮＭＤによって、音データを示すデータ及び音データを示すデータを処理するためのコマンドもしくはクエリを、ネットワークインタフェースを介して、各ボイスサービスの１つ又は複数のサーバに送信することを含む。コマンドもしくはクエリは各ボイスサービスにボイスコマンドを処理させてもよく、コマンドもしくはクエリを各ボイスサービスに（例えば、ボイスサービスのＡＰＩに）適合するように各ボイスサービスに応じて変更してもよい。
【０１３６】
上述のとおり、いくつかの例において、キャプチャされたオーディオは、ボイス入力６８０を含み、それはウェイクワード６８０ａを示す第一の部分、及びボイス発声６８０ｂを示す第二の部分を含み、コマンド６８２などの１つ又は複数のコマンドを含み得る。場合によっては、ＮＭＤは、少なくともボイス入力の第二の部分（ボイス発声６８０ｂを代表する部分）を代表するデータのみを送信してもよい。第一の部分を除くことにより、ＮＭＤは、ボイス入力６８０を送信するために必要な帯域幅を低減可能であり、ウェイクワード６８０ａによるボイス入力６８０の処理エラーの可能性を回避できることやその他の利点がある。代わりに、ＮＭＤは、ボイス入力６８０の両方の部分、又はボイス入力６８０のその他の部分を示すデータを送信してもよい。
【０１３７】
いくつかの実施形態において、キャプチャされた音データを各ボイスサービスに処理させることは、各ボイスサービスに対応するウェイクワード検出アルゴリズムにＮＭＤによってクエリすることを含む。上述のとおり、ボイスサービスへのクエリはボイスサービスの各ＡＰＩを、ＮＭＤ上にローカルで、又はネットワークインタフェースを使って遠隔で発動させることを含んでもよい。各ボイスサービスのウェイクワード検出アルゴリズムへのクエリに応答して、ＮＭＤは、そのボイスサービスに対応するウェイクワードをクエリ内で提出されたキャプチャされた音データが含むか否かを示す応答を受信する。特定のボイスサービスのウェイクワード検出アルゴリズムが、キャプチャされた音データが特定のボイスサービスに対応する特定のウェイクワードを含むことを検出するとき、ＮＭＤは、その特定のボイスサービスに音データを、例えばキャプチャされた音データ内のボイスコマンドを識別するなどのさらなる処理をさせてもよい。
【０１３８】
キャプチャされた音データを各ボイスサービスに処理させた後、ＮＭＤは、処理の結果を受信する。例えば、検出された音データが検索クエリを示す場合、ＮＭＤは、検索結果を受信してもよい。別の例として、検出された音データがデバイスへのコマンド（例えば、再生デバイスへのメディア再生コマンド）を示す場合、ＮＭＤは、コマンド及びおそらくコマンドと関連する追加のデータ（例えば、コマンドと関連するメディアのソース）を受信してもよい。ＮＭＤは、コマンドのタイプ及び受信した結果に基づいて適切であるように、これらの結果を出力してもよい。
【０１３９】
代わりに、検出された音データがＮＭＤ以外の別のデバイスに向けたボイスコマンドを含む場合、結果はＮＭＤではなく、そのデバイスに向けられているかもしれない。例えば、図１Ａを参照して、キッチン１０１ｈのＮＭＤ１０３ｆは、ダイニングルーム１０１ｇの再生デバイス１０２ｌに向けたボイス入力（例えば、再生デバイス１０２ｌのメディア再生を調整するため）を受信し得る。そのような実施形態において、ＮＭＤ１０３ｆはボイス入力の処理を容易にするが、処理（例えば、メディア再生を調整するコマンド）の結果は、再生デバイス１０２ｌに送られ得る。代わりに、ボイスサービスは結果をＮＭＤ１０３ｆに送ってもよく、ＮＭＤ１０３ｆは、再生デバイス１０２ｌにコマンドをリレーするなどの方法で再生デバイス１０２ｌにコマンドを実行させてもよい。
【０１４０】
方法７００のブロック７１６において、ＮＭＤは、キャプチャされた音データを処理し、キャプチャされた音データが特定のウェイクワードを含まないという決定に応答して確認されたウェイクワードを検出することを停止する。いくつかの実施形態において、キャプチャされた音データを処理し、特定のウェイクワードを検出することを停止することは、ＮＭＤがさらにキャプチャされた音データを処理し、キャプチャされた音データが特定のウェイクワードとは異なるウェイクワードを含むか否かを判断することを含む。例えば、複数のウェイクワードの、それぞれのウェイクワードについて、ＮＭＤは１つ又は複数のアルゴリズムを使用して、キャプチャされた音データがそれぞれのウェイクワードを含むか否かを判断することが可能である。
【０１４１】
加えて、又は代わりに、いくつかの実施形態において、キャプチャされた音データを処理して、特定のウェイクワードを検出することを停止することは、ＮＭＤがキャプチャされた音データの処理を完全に停止することを含まない。代わりに、ＮＭＤは、例えば追加の音データをキャプチャし、追加のキャプチャされた音データに対して第一及び第二のウェイクワード検出工程を実行するなどによって方法７００を繰り返すことによりウェイクワードの聞きわけを続ける。
【０１４２】
いずれにしても、ブロック７１８において、方法７００は、ＮＭＤが選択されたウェイクワードエンジン（すなわち、いずれのエンジンが前に選択され起動されたかによって、第一及び／又は第二のウェイクワードエンジン）を停止させることを含む。したがって、いくつかの例において、方法７００は、ボイスサービスに特定のウェイクワードをブロック７１４において処理させた後、選択されたウェイクワードエンジンをＮＭＤが停止させることを含む。上の説明に関連して、いくつかの実施形態において、選択されたウェイクワードエンジンを停止することは、ＮＭＤが、パワーダウンさせるなどの方法によってウェイクワードコンポーネント５７０ａ及び／又は５７０ｂが取得された音データの分析をできないようにすることを含む。
【０１４３】
ｂ．ウェイクワード検出のためにニューラルネットワークを圧縮する例
図８は、キーワードスポッティング及び選択のために圧縮ニューラルネットワークを生成するシステム８００の機能ブロック図である。図８に示されるように、事前学習済み（ｐｒｅｔｒａｉｎｅｄ）ニューラルネットワーク８０２はキーワード選択及び圧縮モジュール８０４に提供される。事前学習済みニューラルネットワーク８０２は、例えば、大量の特定のキーワードトレーニングデータに基づいて１つ又は複数の選択されたキーワードをモデル化した、ディープニューラルネットワーク（ＤＮＮ）、畳み込みニューラルネットワーク（ＣＮＮ）、又は回帰型ニューラルネットワーク（ＲＮＮ）などのニューラルネットワークであり得る。キーワード選択及び圧縮モジュール８０４は、事前学習済みニューラルネットワークを最適化して圧縮し、例えばキーワード検出の正確度を著しく下げることなく演算負荷が小さい、及び／又はメモリ消費量が小さいため、事前学習済みニューラルネットワーク入力８０２よりも優れた性能の圧縮ニューラルネットワークを提供できる。
【０１４４】
以下でより詳細に説明されるように、キーワード選択及び圧縮モジュール８０４は、事前学習済みニューラルネットワーク８０２を、事前学習済みニューラルネットワークの重み（ｗｅｉｇｈｔ）を、例えば混合ガウスモデル（ＧＭＭ：Ｇａｕｓｓｉａｎ  ｍｉｘｔｕｒｅ  ｍｏｄｅｌ）を重みにフィット（ｆｉｔ）させてΚクラスタに圧縮することにより、再学習及び圧縮することができる。この技術はソフト重み共有（ｗｅｉｇｈｔ  ｓｈａｒｉｎｇ）として知られ、ニューラルネットワークの著しい圧縮ができる結果となり得る。ＧＭＭのコンポーネントを、事前学習済みニューラルネットワークの重みにそってフィットさせることにより、重みは、いくつかのクラスタコンポーネントの周りに密に集中する傾向があり、そのときクラスタ中心はネットワークに高い予測精度（ｐｒｅｄｉｃｔｉｖｅ  ａｃｃｕｒａｃｙ）を与えるように自身を最適化する。これにより、ニューラルネットワークは、事前学習済みニューラルネットワークの全ての重みではなく、Κクラスタ平均値（ｍｅａｎｓ）をエンコードするのみでよいから、高い圧縮の結果となる。加えて、１つのクラスタは、ＧＭＭ内で高い初期応答性（ｈｉｇｈ  ｉｎｉｔｉａｌ  ｒｅｓｐｏｎｓｉｂｉｌｉｔｙ）と共にゼロで固定（ｆｉｘｅｄ  ａｔ  ０）されてもよく、図１０に関して以下で説明されるようにスパース表現が可能となる。
【０１４５】
キーワード選択及び圧縮モジュール８０４の初期化モジュール８０６において、ＧＭＭのコンポーネントは初期化される。例えば、所定数の非固定コンポーネントが事前学習済みニューラルネットワーク８０２の重みのレンジに均一に分布され得る。分散（ｖａｒｉａｎｃｅｓ）は、各ガウシアン（Ｇａｕｓｓｉａｎ）がそれぞれの領域で著しい確率質量（ｐｒｏｂａｂｉｌｉｔｙ  ｍａｓｓ）を有するように初期化されてもよい。いくつかの実施形態において、ニューラルネットワークの重みはまた、事前学習に基づいて初期化モジュール８０６を介して初期化されてもよい。いくつかの実施形態において、ＧＭＭは１７（＝２４＋１）個のコンポーネントで初期化され得て、重み及び平均の学習レート、対数分散（ｌｏｇ−ｖａｒｉａｎｃｅｓ）、対数混合割合（ｌｏｇ−ｍｉｘｉｎｇ  ｐｒｏｐｏｒｔｉｏｎｓ）は全て別々に初期化され得る。
【０１４６】
ＧＭＭコンポーネントの初期化に続き、合同最適化（ｊｏｉｎｔ  ｏｐｔｉｍｉｚａｔｉｏｎ）モジュール８０８は、ＧＭＭを使って事前学習済みニューラルネットワークモデルを再学習（ｒｅｔｒａｉｎ）させる。合同最適化モジュール８０８は、初期化されたＧＭＭを事前学習済みニューラルネットワークの重みの上にフィットさせ、ニューラルネットワークの重みをＧＭＭのクラスタの周りにクラスタ化させるために最適化アルゴリズムを実行する。例えば、いくつかの実施形態において、次の数式が勾配降下法（ｇｒａｄｉｅｎｔ  ｄｅｓｃｅｎｔ）を介して最適化され得る。
【０１４７】
【数１】
2021516790.tif 000003
【０１４８】
ここで、「ｗ」はニューラルネットワークモデルパラメータ（又は、重み）、「μｊ、σｊ、πｊ」はＧＭＭの平均、分散、及び重み、そして「Ｘ」と「Ｔ」はニューラルネットワークの音響フィーチャ入力（ａｃｏｕｓｔｉｃ  ｆｅａｔｕｒｅ  ｉｎｐｕｔ）及びクラス分けターゲットである。損失（ｌｏｓｓ）はニューラルネットワークの項（ｔｅｒｍ）「下記数２参照」、及びＧＭＭの項「下記数３参照」、に分解（ｄｅｃｏｍｐｏｓｅ）し、それらは重みファクタ「τ」によりバランスされる。
【０１４９】
【数２】
2021516790.tif 000004
【０１５０】
【数３】
2021516790.tif 000005
【０１５１】
いくつかの例において、重みファクタ「τ」は０．００５に設定され得る。スパース性（ｓｐａｒｓｉｔｙ）を奨励し、次の段階での圧縮を向上させるために、ＧＭＭの１つのコンポーネントは固定された平均「μｊ＝０=０」、及び混合重み（ｍｉｘｔｕｒｅ  ｗｅｉｇｈｔ）「πｊ＝０=０．９９９」を有し得る。残りのコンポーネントは学習される。代わりに、次の段階は、「πｊ＝０」を学習させることもできるが、それをベータ分布（Ｂｅｔａ  ｄｉｓｔｒｉｂｕｔｉｏｎ）などの事前分布（ｈｙｐｅｒｐｒｉｏｒ）を使って制限することもできる。連続的な反復の後、機能は収束し、ニューラルネットワークの重みはＧＭＭのクラスタの周りに密にクラスタ化される。
【０１５２】
合同最適化モジュール８０８において、勾配降下法の計算は、選択された学習レート及びパラメータに非常に敏感であり得る。学習レートが高すぎる場合、ＧＭＭが速く崩壊（ｃｏｌｌａｐｓｅ）する場合があり、ニューラルネットワークの重みがコンポーネント外に残り、クラスタ化が失敗し得る。逆に、学習レートが低すぎる場合、混合の収束が遅すぎる。いくつかの実施形態において、学習レートは約５ｘ１０−４に設定され得る。特定の実施形態において、逆ガンマ事前分布（ｉｎｖｅｒｓｅ−Ｇａｍｍａ  ｈｙｐｅｒｐｒｉｏｒ）が混合分散（ｍｉｘｔｕｒｅ  ｖａｒｉａｎｃｅｓ）に適用され得て、混合コンポーネントが速く崩壊することを防ぐことができる。
【０１５３】
キーワード選択及び圧縮モジュール８０４の最終段階として、量子化（ｑｕａｎｔｉｚａｔｉｏｎ）モジュール５７１は、モデルをさらに圧縮する。例えば、ニューラルネットワークが合同最適化モジュール８０８を介して再学習した後、各重みは、その最大の応答性を担うコンポーネントの平均で設定され得る。この工程は量子化と呼ばれる。しかし、量子化の前に、冗長コンポーネント（ｒｅｄｕｎｄａｎｔ  ｃｏｍｐｏｎｅｎｔ）が除去されてもよい。一例において、カルバック・ライブラー（ＫＬ）情報量（Ｋｕｌｌｂａｃｋ−Ｌｅｉｂｌｅｒ  ｄｉｖｅｒｇｅｎｃｅ）が、閾値以下のＫＬ情報量について全てのコンポーネント間で計算され得て、２つのコンポーネントが併合されて単一コンポーネントを形成し得る。量子化後、その結果のニューラルネットワークは、事前学習済みニューラルネットワ８０２と比較して、重み全体にわたって著しく少数の固有値（ｄｉｓｔｉｎｃｔ  ｖａｌｕｅ）を有する。
【０１５４】
キーワードスポッタ５７６として出力される前に、キーワード選択及び圧縮モジュール８０４の出力は、次に、後処理８１２（例えば、追加のフィルタ、フォーマットなど）の対象とさせられてもよい。いくつかの実施形態において、図１０に関連して以下に示されるように、後処理は圧縮疎行列（ＣＳＲ）表現を含み得る。図５及び図７に関連して上述のとおり、キーワードスポッタ５７６は、例えば取得された音データに予備的なウェイクワード検出分析を実行するなど、ウェイクワード検出を実行するために使われ得る。この圧縮ニューラルネットワークの出力に基づいて、例えば、特定のＶＡＳ又は特定のウェイクワードのセットに関連したウェイクワードエンジンを使って、第二のウェイクワード検出工程が実行され得る。
【０１５５】
ソフト重み共有ニューラルネットワーク、量子化、圧縮疎行列表現、及びＫＬ情報量の使用の追加の詳細及び例は、”https://arxiv.org/abs/1702.04008v2”において入手できるＵｌｒｉｃｈらによる「Ｓｏｆｔ  Ｗｅｉｇｈｔ−Ｓｈａｒｉｎｇ  ｆｏｒ  Ｎｅｗｒａｌ  Ｎｅｔｗｏｒｋ  Ｃｏｍｐｒｅｓｓｉｏｎ」、”https://arxiv.org/abs/1510.00149v5”において入手できるＨａｎらによる「Ｄｅｅｐ  Ｃｏｍｐｒｅｓｓｉｏｎ：Ｃｏｍｐｒｅｓｓｉｎｇ  Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ  ｗｉｔｈ  Ｐｒｕｎｉｎｇ、Ｔｒａｉｎｅｄ  Ｑｕａｎｔｉｚａｔｉｏｎ  ａｎｄ  Ｈｕｆｆｍａｎ  Ｃｏｄｉｎｇ」、及び”https://arxiv.org/abs/1506.02626v3”において入手できる「Ｌｅａｒｎｉｎｇ  ｂｏｔｈ  Ｗｅｉｇｈｔｓ  ａｎｄ  Ｃｏｎｎｅｃｔｉｏｎｓ  ｆｏｒ  Ｅｆｆｉｃｉｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ」にあり、これらはそれぞれその全体がここに参照され援用される。上述の参考文献において開示される技術は、いずれも上述のキーワード選択及び圧縮モジュール８０４及び／又は後処理８１２に組み入れられてもよい。
【０１５６】
図９は、ソフト重み共有を介した圧縮の前及び後におけるニューラルネットワーク重みの対数重み分布を示す。図９の上のヒストグラムは、事前学習済みニューラルネットワーク（例えば、図８の事前学習済みニューラルネットワーク８０２）の重み「ｗ」の分布を示す。右側には、同じ分布が、ソフト重み共有の再学習が実行された後（例えば、キーワードスポッタ５７６の圧縮ニューラルネットワークに反映されるとおり）に示される。各重み値の変化は、散布図によって示される。示されるとおり、重みは離散値（ｄｉｓｃｒｅｔｅ  ｖａｌｕｅｓ）の周りに集まって（ｄｒａｗｎ  ｔｏｇｅｔｈｅｒ）クラスタ化し、ソフト重み共有ニューラルネットワークにおいては事前学習済みニューラルネットワと比較して、重み全体にわたって固有値の数は大きく減る。加えて、重みはゼロにおいて最も集中し、したがって結果としてのニューラルネットワークではゼロ以外の重みの数は最少化される。これにより、図１０に関連して下に説明されるように、圧縮疎行列（ＣＳＲ）表現を使ったさらに大きい圧縮が可能となる。ＣＳＲ（又はその他の重みの圧縮方法）と共にソフト重み共有によって達成される、重み全般にわたる固有値の低減は、ニューラルネットワークの正確さをあまり下げることなく、そのサイズ及び演算の複雑さを著しく低減させる。
【０１５７】
図１０は、ニューラルネットワークモデルの圧縮疎行列（ＣＳＲ）表現の例を示す。重み共有クラスタすることに加え、ニューラルネットワークモデルはスパース表現を使ってさらに圧縮され得る。一例は、マトリックスＭが３個の一次元アレイによって表現される標準ＣＳＲ表現である。特に、図１０を参照して、マトリックスＤが３個の一次元アレイＡ、ＩＡ、及びＪＡによって表現され得る。アレイＡは、マトリックスＤのゼロ以外のコンポーネント（５、８、３、及び６）を使って得られる。アレイＩＡは、再帰的にマトリックスＤの各列のゼロ以外コンポーネントの個数から、ゼロを第一の値として追加のうえで得られる。マトリックスＤにおいて、各列のゼロ以外のコンポーネントの個数は、それぞれ０、２、１、及び１である。これらを再帰的に加えると０、２（０＋２）、３（２＋１）、及び４（３＋１）の値が提供され、アレイＩＡに反映されている。最後にアレイＪＡはマトリックスＤのゼロ以外の値それぞれコラムインデックスから生成される。例えば、第一のゼロ以外の値（５）は、コラム０にあり、第二のゼロ以外の値（８）は、コラム１にたり、第三のゼロ以外の値（３）は、コラム２にあり、第四のゼロ以外の値（６）は、コラム１にある。したがって、アレイＪＡは、０、１、２、１の値を含む。これらの３個のアレイが、例えばニューラルネットワークモデルを示すために記憶されなければならない値の総個数を減らすことにより圧縮されたフォーマットでのマトリックスＭを示し得る。図１０の例において、マトリックスＭは１６個の値を有するが、３個のアレイＡ、ＩＡ、及びＪＡは組み合わせて総数１３個の値を有する。
【０１５８】
これらのアレイはそれぞれさらに最適化され得る。例えば、アレイＩＡ内の最大数はＤ内のゼロ以外の要素の総数であるから、ＩＡの数は、より低い精度で記憶され得る。アレイＡは、インデックスへのコードブックで量子化することにより最適化され得る。そして、アレイＪＡは、より低い精度インデックスで、及び／又は差を記憶するように最適化され得る。
【０１５９】
ＣＳＲ技法を使って圧縮されたニューラルネットワークモデルを評価すると、ベースラインのニューラルネットワークからサイズがかなり小さくなっていることに発明者は気づいた。８個のコンポーネントの一例において、ニューラルネットワーク全体のベースラインサイズは、５４０キロバイトであった。圧縮疎行列表現のあと、サイズは４６２．５キロバイトに縮小され、全体の圧縮比は１．１６であった。ＣＳＲアレイの最適化後、サイズは１７４キロバイトにさらに縮小され、全体の圧縮比は３．１であった。したがって、ＣＳＲ表現をアレイの最適化と共に利用することにより全体のサイズが３分の２以上減ることが発見された。これらの、及びその他の圧縮技術を使って、上述のようにウェイクワードを検出するために使われるニューラルネットワークモデルのサイズ及び／又は演算の複雑さを減らすことができる。
【０１６０】
ｃ．ＮＭＤ間の調停にニューラルネットワークを使う例
既に述べたように、一定の実施形態において、互いに近くに位置する２つ又はそれ以上のＮＭＤによってボイス入力がスピーチ内に識別されたとき、ＮＭＤは相互間の調停を容易にしてもよい。例えば、互いに近くに位置する２つのＮＭＤは、少なくとも時々同じ音を検出し得る。そのような場合において、これは、遠隔のＶＡＳに、いずれのデバイスが最終的に検出された音データを提供する担当であるかの調停を必要とし得る。
【０１６１】
いくつかの実施形態において、２つ又はそれ以上のＮＭＤのそれぞれは、上述のキーワードスポッティングアルゴリズムのうちのいずれかの１つを使って（例えば、キーワードスポッタ５７６、第一のウェイクワードエンジン５７０ａ、及び／又は第二のウェイクワードエンジン５７０ｂを利用して）検出された音データを分析して、ウェイクワード又はウェイクワード候補を識別してもよい。例えば、２つのＮＭＤはそれぞれニューラルネットワークに基づいたキーワードスポッタを採用してボイス入力内のウェイクワード候補を識別してもよい。少なくともいくつかの実施形態において、キーワードスポッタはまた、音データのストリーミングＳＤＳ内のウェイクワード候補に確率スコア又はレンジを割り当ててもよい。相対的な確率スコア及び各ＮＭＤによって識別されたウェイクワード候補に基づいて、ＮＭＤの１つが検出された音データを遠隔ＶＡＳに提供するために選択され得る。
【０１６２】
１つの例として、第一のＮＭＤ及び第二のＮＭＤは、同じ音を検出するように互いに近くに位置してもよい。第一のＮＭＤ上で動作するキーワードスポッタは、第一のＮＭＤの音データのストリーミングＳＤＳ内に「Ｏｋ、Ｇｏｏｇｌｅ」というウェイクワードが検出されたことに８０％の確率があると示すか場合があり、第二のＮＭＤ上で動作するキーワードスポッタは、第二のＮＭＤの音データのストリーミングＳＤＳ内に「Ｏｋ、Ｇｏｏｇｌｅ」というウェイクワードが検出されたことに７０％の確率があると示す場合がある。第一のＮＭＤが第二のＮＭＤよりもウェイクワード検出の高い確率を有するため、第一のＮＭＤが遠隔ＶＡＳとの通信に選択され得る。
【０１６３】
結論
上記の説明は、とりわけ、コンポーネント、ファームウェア及び／又はハードウェア上で実行されるソフトウェアを含む様々な例示的なシステム、方法、装置、及び製品を開示している。そのような例は単に例示的なものであり、限定的であると見なされるべきではないことが理解される。例えば、ファームウェア、ハードウェア及び／又はソフトウェアの態様又はコンポーネントのいずれか又はすべてを、ハードウェアのみ、ソフトウェアのみ、ファームウェアのみ、又はハードウェア、ソフトウェア及び／又はファームウェアの任意の組み合わせで実施できることが考えられる。したがって、提供される例は、そのようなシステム、方法、装置、及び／又は製品を実施するための唯一の方法ではない。
【０１６４】
本明細書は、例示的な環境、システム、手順、ステップ、論理ブロック、処理、及び他のシンボル表現に関して広く示されており、それらは直接又は間接的にネットワークに接続されるデータ処理デバイスの動作に類似するものである。これらの処理説明及び表現は、一般的に当業者によって使用され、それらの仕事の内容を他の当業者に最も効率良く伝えることができる。多くの具体的な内容が、本開示を理解するために提供されている。しかしながら、当業者にとって、本開示の一定の実施形態が一定の、具体的な詳細なしに実施され得ることは理解される。他の例では、周知の方法、手順、コンポーネント、及び回路が、実施形態を不必要に曖昧にすることを避けるため、詳細に説明していない。したがって、本開示の範囲は、上記した実施形態よりむしろ添付された特許請求の範囲によって定義される。
【０１６５】
添付の特許請求の範囲のいずれかが単にソフトウェア及び／又はファームウェアへの実装をカバーするように読み取ると、少なくとも１つの例における要素の１つ又は複数は、本明細書では、ソフトウェア及び／又はファームウェアを記憶する有形の非一時的な記憶媒体、例えば、メモリ、ＤＶＤ、ＣＤ、Ｂｌｕ−ｒａｙ（登録商標）等を含むことが明確に定められている。
【０１６６】
本技術は、例えば下に説明される様々な態様にしたがって示される。本技術の態様の様々な例は、利便性のため、番号付きの例（１、２、３、など）として説明される。これらは例として提供され、本技術を限定するものではない。従属する例はいずれも、あらゆる組み合わせで組み合わせられてそれぞれの独立する例に配置され得ることは明らかである。他の例も同様に表わされ得る。
【０１６７】
例１：  ネットワークマイクロフォンデバイスを介して音データをキャプチャするステップと、ネットワークマイクロフォンデバイスを介して音データ内のウェイクワード候補を識別するステップと、音データ内のウェイクワード候補の識別に基づいて、第一のウェイクワードエンジンを複数のウェイクワードエンジンの中から選択するステップと、第一のウェイクワードエンジンを使って確認されたウェイクワードを検出するために音データを分析するステップと、確認されたウェイクワードの検出に応答して、音データのボイス発声をボイスアシスタントサービスと関連した１つ又は複数のリモートコンピュータに送信するステップと、を含む、方法。
【０１６８】
例２：  ウェイクワード候補を識別するステップは、音データ内にウェイクワード候補が存在する確率を判断することを含む、例１に記載の方法。
【０１６９】
例３：  第一のウェイクワードエンジンがウェイクワード候補と関連し、複数のウェイクエンジンのうちの別のものが１つ又は複数の追加のウェイクワードと関連する、
例１又は２のいずれかに記載の方法。
【０１７０】
例４：  ウェイクワード候補を識別するステップは、音データにニューラルネットワークモデルを適用することを含む、例１−３のいずれか１つに記載の方法。
【０１７１】
例５：  ニューラルネットワークモデルが、圧縮ニューラルネットワークモデルを含む、例４に記載の方法。
【０１７２】
例６：  ニューラルネットワークモデルが、ソフト重み共有ニューラルネットワークモデルを含む、例４に記載の方法。
【０１７３】
例７：  追加の音データを送信した後、ネットワークマイクロフォンデバイスを介して追加の音データに関連するメディアコンテンツを受信するステップをさらに含む、例１−６のいずれか１つに記載の方法。
【０１７４】
例８：  複数のウェイクワードエンジンが、第一のウェイクワードエンジン、及びネットワークマイクロフォンデバイスのローカルの機能を実行するように構成される第二のウェイクワードエンジンを含む、例１−７のいずれか１つに記載の方法。
【０１７５】
例９：  １つ又は複数のプロセッサと、少なくとも１つのマイクロフォンと、１つ又は複数のプロセッサによってネットワークマイクロフォンデバイスに例１−８のいずれか１つを含む動作を実施させるように実行可能な命令を記憶する、有形の非一時的なコンピュータ読み取り可能な媒体と、を含むネットワークマイクロフォンデバイス。
【０１７６】
例１０：  ネットワークマイクロフォンデバイスに例１−８のいずれか１つを含む動作を実施させるように１つ又は複数のプロセッサによって実行可能な命令を記憶する、有形の非一時的なコンピュータ読み取り可能な媒体。
【図１Ａ】
2021516790.tif 000006
【図１Ｂ】
2021516790.tif 000007
【図２Ａ】
2021516790.tif 000008
【図２Ｂ】
2021516790.tif 000009
【図３Ａ】
2021516790.tif 000010
【図３Ｂ】
2021516790.tif 000011
【図３Ｃ】
2021516790.tif 000012
【図３Ｄ】
2021516790.tif 000013
【図３Ｅ】
2021516790.tif 000014
【図４Ａ】
2021516790.tif 000015
【図４Ｂ】
2021516790.tif 000016
【図４Ｃ】
2021516790.tif 000017
【図５】
2021516790.tif 000018
【図６Ａ】
2021516790.tif 000019
【図６Ｂ】
2021516790.tif 000020
【図７】
2021516790.tif 000021
【図８】
2021516790.tif 000022
【図９】
2021516790.tif 000023
【図１０】
2021516790.tif 000024
【手続補正書】
【提出日】令和2年9月17日(2020.9.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワークマイクロフォンデバイスを介して音データをキャプチャするステップと、
前記ネットワークマイクロフォンデバイスを介して、キーワードスポッティングアルゴリズム（５７６）を使って前記音データ内のウェイクワード候補を識別するステップと、
前記音データ内の前記ウェイクワード候補の識別に基づいて、複数のウェイクワードエンジン（５７０ａ、５７０ｂ、５７１）の中から第一のウェイクワードエンジン（５７０ａ、５７０ｂ、５７１）を選択するステップと、
前記第一のウェイクワードエンジン（５７０ａ、５７０ｂ、５７１）を使って、ウェイクワードの検出を確認するために前記音データを分析するステップと、
前記第一のウェイクワードエンジン（５７０ａ、５７０ｂ、５７１）が前記ウェイクワードの検出を確認したとき、前記音データのボイス発声をボイスアシスタントサービスと関連した１つ又は複数のリモートコンピュータに送信するステップと、を含み、
前記複数のウェイクワードエンジン（５７０ａ、５７０ｂ、５７１）は、
前記ウェイクワード候補と関連する前記第一のウェイクワードエンジン（５７０ａ、５７０ｂ、５７１）、及び
１つ又は複数の追加のウェイクワードと関連する第二のウェイクワードエンジン（５７０ａ、５７０ｂ、５７１）を少なくとも含む、方法。
【請求項２】
前記ウェイクワード候補を識別するステップは、前記音データ内に前記ウェイクワード候補が存在する確率を判断することを含み、
前記第一のウェイクワードエンジン（５７０ａ、５７０ｂ、５７１）が、前記ウェイクワード候補が前記音データ内に存在するか否かを前記キーワードスポッティングアルゴリズム（５７６）よりも高い精度で判断するように構成される、
請求項１に記載の方法。
【請求項３】
前記キーワードスポッティングアルゴリズム（５７６）が、複数のボイスアシスタントサービスのそれぞれと複数のウェイクワードエンジンのそれぞれとに対応する複数のウェイクワードを認識するように構成される、請求項１又は２に記載の方法。
【請求項４】
前記複数のウェイクワードエンジン（５７０ａ、５７０ｂ、５７１）に関して、前記キーワードスポッティングアルゴリズム（５７６）が、演算の複雑さがより低い、及びメモリ消費量がより小さい、のうちの少なくとも１つである、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記ウェイクワード候補を識別するステップは、ニューラルネットワークモデル（８０２）を前記音データに適用することを含む、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記ニューラルネットワークモデル（８０２、８０４）は、前記ＮＭＤにローカルで記憶される、請求項５に記載の方法。
【請求項７】
前記ニューラルネットワークモデル（８０２）が圧縮ニューラルネットワークモデル（８０４）を含む、請求項５又は６に記載の方法。
【請求項８】
ニューラルネットワーク（８０２）の重みのレンジにわたって、非固定コンポーネントの平均を分布させることにより混合ガウスモデルを初期化することと、前記初期化された前記混合ガウスモデルを前記ニューラルネットワークモデルの重みにフィットさせることと、によって、混合ガウスモデルを前記ニューラルネットワーク（８０２）の重みにフィットさせることにより前記ニューラルネットワークモデル（８０２）を圧縮するステップと、
前記ニューラルネットワークの重みを前記混合ガウスモデルのクラスタの周りにクラスタ化させるステップと、
前記ニューラルネットワークモデルを量子化するステップと、をさらに含む、請求項７に記載の方法。
【請求項９】
前記ニューラルネットワークモデルを前記ニューラルネットワークモデルの圧縮疎行列表現を使って圧縮するステップをさらに含む、請求項７又は８に記載の方法。
【請求項１０】
前記第一のウェイクワードエンジン（５７０ａ、５７０ｂ、５７１）を選択するステップは、前記ＮＭＤを、低電力状態又は無電力状態から、高電力状態へパワーアップすることを含む、請求項１〜９のいずれか一項に記載の方法。
【請求項１１】
前記第二のウェイクワードエンジン（５７１）は、前記ネットワークマイクロフォンデバイスのローカルの機能を実行し、ボイス発声が遠隔ボイスアシスタントサービスからの介入を受けずにローカルで処理され得るように構成される、請求項１〜１０のいずれか一項に記載の方法。
【請求項１２】
前記第一のウェイクワードエンジン（５７０ａ、５７０ｂ、５７１）が前記ウェイクワードの検出を確認しないとき、前記第一のウェイクワードエンジン（５７０ａ、５７０ｂ、５７１）を停止するステップ、をさらに含む、請求項１〜１１のいずれか一項に記載の方法。
【請求項１３】
前記第一のウェイクワードエンジン（５７０ａ、５７０ｂ、５７１）を選択する前に、検出されたそれぞれの音データ内のウェイクワード候補の前記キーワードスポッティングアルゴリズム（５７６）を使って、１つ又は複数の追加のＮＭＤとの間でいずれのＮＭＤが前記ウェイクワードエンジンを選択するべきかを、判断された確率に基づいて調停するステップ、をさらに含む、請求項１〜１２のいずれか一項に記載の方法。
【請求項１４】
ネットワークマイクロフォンデバイスに、請求項１〜１３のいずれか一項に記載の方法を実施させるように１つ又は複数のプロセッサによって実行可能な命令を記憶する、有形の非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項１５】
１つ又は複数のプロセッサと、
少なくとも１つのマイクロフォンと、
請求項１４に記載の有形の非一時的なコンピュータ読み取り可能な記憶媒体と、
を含む、ネットワークマイクロフォンデバイス。
【国際調査報告】
2021516790.tif 000025
2021516790.tif 000026