特許第6234573号(P6234573)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インテル・コーポレーションの特許一覧

<>
  • 特許6234573-インテリジェント補助電子デバイス 図000002
  • 特許6234573-インテリジェント補助電子デバイス 図000003
  • 特許6234573-インテリジェント補助電子デバイス 図000004
  • 特許6234573-インテリジェント補助電子デバイス 図000005
  • 特許6234573-インテリジェント補助電子デバイス 図000006
  • 特許6234573-インテリジェント補助電子デバイス 図000007
  • 特許6234573-インテリジェント補助電子デバイス 図000008
  • 特許6234573-インテリジェント補助電子デバイス 図000009
  • 特許6234573-インテリジェント補助電子デバイス 図000010
  • 特許6234573-インテリジェント補助電子デバイス 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6234573
(24)【登録日】2017年11月2日
(45)【発行日】2017年11月22日
(54)【発明の名称】インテリジェント補助電子デバイス
(51)【国際特許分類】
   G06F 3/16 20060101AFI20171113BHJP
   G10L 15/00 20130101ALI20171113BHJP
【FI】
   G06F3/16 400
   G06F3/16 500
   G10L15/00
【請求項の数】19
【全頁数】23
(21)【出願番号】特願2016-529970(P2016-529970)
(86)(22)【出願日】2014年11月25日
(65)【公表番号】特表2016-541051(P2016-541051A)
(43)【公表日】2016年12月28日
(86)【国際出願番号】US2014067327
(87)【国際公開番号】WO2015099939
(87)【国際公開日】20150702
【審査請求日】2016年6月2日
(31)【優先権主張番号】14/142,818
(32)【優先日】2013年12月28日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】591003943
【氏名又は名称】インテル・コーポレーション
(74)【代理人】
【識別番号】110000877
【氏名又は名称】龍華国際特許業務法人
(72)【発明者】
【氏名】ダドゥ、サウラブ
(72)【発明者】
【氏名】シャー、サウリン
(72)【発明者】
【氏名】タラペル、フランシス エム.
(72)【発明者】
【氏名】クリシュナマーティ、ラクシュマン
(72)【発明者】
【氏名】ヴォーゲル、ブライアン ケイ.
(72)【発明者】
【氏名】カー、スワルネンドゥ
【審査官】 星野 裕
(56)【参考文献】
【文献】 米国特許第08468023(US,B1)
【文献】 国際公開第2013/085507(WO,A1)
【文献】 特開2006−308993(JP,A)
【文献】 特開2006−301266(JP,A)
【文献】 特開2004−233793(JP,A)
【文献】 特表2012−500526(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/16
G10L 15/00
(57)【特許請求の範囲】
【請求項1】
ハードウェアロジックを少なくとも部分的に含むロジックを備えるコントローラであって、前記ロジックは、
受信されたオーディオ信号においてキーフレーズを検出し、
前記キーフレーズに応答して、
リモート電子デバイスのパーソナルアシスタントに信号を送信し
前記リモート電子デバイスの前記パーソナルアシスタントからの準備完了応答について監視し、
ーディオ入力が受信されたか否かを決定し、
前記リモート電子デバイスの前記パーソナルアシスタントから応答を受信する前に追加のオーディオ入力が受信されたという決定に応答して
前記パーソナルアシスタントからの前記準備完了応答のプレゼンテーションをブロックし、
記オーディオ入力をメモリにおいてバッファ処理し
前記メモリから前記オーディオ入力を前記リモート電子デバイスの前記パーソナルアシスタントに転送する、
コントローラ。
【請求項2】
前記ロジックは、前記受信されたオーディオ信号において前記キーフレーズを検出する低電力コントローラを含む、請求項1に記載のコントローラ。
【請求項3】
前記リモート電子デバイスの前記パーソナルアシスタントから応答を受信する前に追加のオーディオ入力が受信されたという決定に応答して、プロセッサをアクティブ化するロジックを備える、請求項1または2に記載のコントローラ。
【請求項4】
前記メモリから前記リモート電子デバイスの前記パーソナルアシスタントに、前記オーディオ入力を転送するロジックを備える、請求項1から3のいずれか1項に記載のコントローラ。
【請求項5】
前記メモリにおいてバッファ処理された前記オーディオ入力において無音期間を検出し、
前記メモリにおいてバッファ処理された前記オーディオ入力が前記リモート電子デバイスの前記パーソナルアシスタントに転送される前に、前記メモリにおいてバッファ処理された前記オーディオ入力から前記無音期間を除去する
ロジックを備える、請求項1から4のいずれか1項に記載のコントローラ。
【請求項6】
前記メモリから前記リモート電子デバイスの前記パーソナルアシスタントに前記オーディオ入力を転送する前記ロジックは、バーストモードで前記オーディオ入力を転送するロジックを備える、請求項1から5のいずれか1項に記載のコントローラ。
【請求項7】
オーディオ入力デバイスと、
通信インタフェースと、
ハードウェアロジックを少なくとも部分的に含むロジックを含むコントローラと、
を備える電子デバイスであって、前記ロジックは、
受信されたオーディオ信号においてキーフレーズを検出し、
前記キーフレーズに応答して、
リモート電子デバイスのパーソナルアシスタントに信号を送信し
前記リモート電子デバイスの前記パーソナルアシスタントからの準備完了応答について監視し、
ーディオ入力が受信されたか否か決定し、
前記リモート電子デバイスの前記パーソナルアシスタントから応答を受信する前に追加のオーディオ入力が受信されたという決定に応答して
前記パーソナルアシスタントからの前記準備完了応答のプレゼンテーションをブロックし、
モリにおいて前記オーディオ入力をバッファ処理し、
前記メモリから前記オーディオ入力を前記リモート電子デバイスの前記パーソナルアシスタントに転送する、
電子デバイス。
【請求項8】
前記ロジックは、前記受信されたオーディオ信号において前記キーフレーズを検出する低電力コントローラを含む、請求項7に記載の電子デバイス。
【請求項9】
前記リモート電子デバイスの前記パーソナルアシスタントから応答を受信する前に追加のオーディオ入力が受信されたという決定に応答して、プロセッサをアクティブ化するロジックを含む、請求項7まは8に記載の電子デバイス。
【請求項10】
前記メモリから前記リモート電子デバイスの前記パーソナルアシスタントに前記オーディオ入力を転送するロジックを含む、請求項7から9のいずれか1項に記載の電子デバイス。
【請求項11】
前記メモリにおいてバッファ処理された前記オーディオ入力において無音期間を検出し、
前記メモリにおいてバッファ処理された前記オーディオ入力が前記リモート電子デバイスの前記パーソナルアシスタントに転送される前に、前記メモリにおいてバッファ処理された前記オーディオ入力から前記無音期間を除去するロジックを含む、請求項7から10のいずれか1項に記載の電子デバイス。
【請求項12】
前記メモリから前記リモート電子デバイスの前記パーソナルアシスタントに前記オーディオ入力を転送する前記ロジックは、バーストモードで前記オーディオ入力を転送するロジックを含む、請求項7から11のいずれか1項に記載の電子デバイス。
【請求項13】
受信されたオーディオ信号においてキーフレーズを検出し、
前記キーフレーズに応答して、
リモート電子デバイスのパーソナルアシスタントに信号を送信し
前記リモート電子デバイスの前記パーソナルアシスタントからの準備完了応答について監視し、
ーディオ入力が受信されたか否かを決定し、
前記リモート電子デバイスの前記パーソナルアシスタントから応答を受信する前に追加のオーディオ入力が受信されたという決定に応答して
前記パーソナルアシスタントからの前記準備完了応答のプレゼンテーションをブロックし、
記オーディオ入力をメモリにおいてバッファ処理し
前記メモリから前記オーディオ入力を前記リモート電子デバイスの前記パーソナルアシスタントに転送する
ことをコントローラに実行させる、コンピュータプログラム。
【請求項14】
前記コントローラは、前記受信されたオーディオ信号において前記キーフレーズを検出する低電力コントローラを含む、請求項13に記載のコンピュータプログラム。
【請求項15】
前記リモート電子デバイスの前記パーソナルアシスタントから応答を受信する前に追加のオーディオ入力が受信されたという決定に応答して、プロセッサをアクティブ化することを前記コントローラに実行させる、請求項13まは14に記載のコンピュータプログラム。
【請求項16】
前記メモリから前記リモート電子デバイスの前記パーソナルアシスタントに前記オーディオ入力を転送することを前記コントローラに実行させる、請求項13から15のいずれか1項に記載のコンピュータプログラム。
【請求項17】
前記メモリにおいてバッファ処理された前記オーディオ入力において無音期間を検出し、
前記メモリにおいてバッファ処理された前記オーディオ入力が前記リモート電子デバイスの前記パーソナルアシスタントに転送される前に、前記メモリにおいてバッファ処理された前記オーディオ入力から前記無音期間を除去する
ことを前記コントローラに実行させる、請求項13から16のいずれか1項に記載のコンピュータプログラム。
【請求項18】
ーストモードで前記オーディオ入力を転送することを前記コントローラに実行させる、請求項13から17のいずれか1項に記載のコンピュータプログラム。
【請求項19】
請求項13から18のいずれか1項に記載のコンピュータプログラムを格納するコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願]
なし
【背景技術】
【0002】
本明細書において説明される主題は、概して、電子デバイス分野に関し、より詳細には、インテリジェント補助電子デバイスに関する。
【0003】
ラップトップ、コンピュータ、ネットブックスタイルのコンピュータ、タブレットコンピュータ、携帯電話、電子リーダ等のような多くの電子デバイスは、例えば、音声及びテキストメッセージングなどの、デバイスに組み込まれた複数の通信機能を有する。いくつかの状況では、ヘッドセット、コンピュータ内蔵眼鏡等のような補助電子デバイスへのインタフェースを用いて、このような電子デバイスと通信を行うことが有用なことがある。
【0004】
さらに、ネットワーク接続された多くの電子デバイスが、今や、電子デバイスのユーザと音声ベースのインタフェースを介してインタラクトするパーソナルアシスタントサービスを提供している。このような状況において、ヘッドセット、コンピュータ内蔵眼鏡等のような補助電子デバイスへのインタフェースを介して、パーソナルアシスタントサービスと通信を行うことが有用なことがある。
【0005】
従って、インテリジェント補助電子デバイスを提供するシステム及び技術が、有用性を見出すことがある。
【図面の簡単な説明】
【0006】
詳細な説明が、添付された複数の図を参照しつつ説明される。
図1】いくつかの実施例に係るインテリジェントレコーディングと共に動作するように適合され得る例示的な電子デバイスの図である。
図2】いくつかの実施例に係るインテリジェント補助電子デバイスの複数のコンポーネントの模式図である。
図3】インテリジェント補助電子デバイスがいくつかの実施例に従って実装され得る環境の高レベルの模式図である。
図4】いくつかの実施例に係るインテリジェント補助デバイスを実装する方法における複数のオペレーションを示すフローチャートである。
図5】いくつかの実施例に係る複数の電子デバイス間における通信のタイミング図である。
図6】いくつかの実施例に係るインテリジェントレコーディングを実装するように適合され得る電子デバイスの模式図である。
図7】いくつかの実施例に係るインテリジェントレコーディングを実装するように適合され得る電子デバイスの模式図である。
図8】いくつかの実施例に係るインテリジェントレコーディングを実装するように適合され得る電子デバイスの模式図である。
図9】いくつかの実施例に係るインテリジェントレコーディングを実装するように適合され得る電子デバイスの模式図である。
図10】いくつかの実施例に係るインテリジェントレコーディングを実装するように適合され得る電子デバイスの模式図である。
【発明を実施するための形態】
【0007】
本明細書において、インテリジェント補助電子デバイスを実装する複数の例示的なシステム及び方法が説明される。以下の説明において、様々な例を十分に理解ならしめるべく、多数の具体的な詳細が記載される。しかしながら、当分野の当業者であれば、これらの様々な例が、具体的な詳細なしで実施され得ることが理解されよう。他の複数の例において、周知の方法、手続き、コンポーネント、及び回路は、具体例を曖昧にしないよう、詳細には示され又は説明されていない。
【0008】
簡単にいうと、ここで説明される主題は、リモート電子デバイスとの通信を管理するロジックを有するコントローラを含むインテリジェント補助電子デバイスを提供することによって、少なくとも部分的に、上述された関心事項に取り組むものである。例えば、リモート電子デバイスは、モバイル通信又はコンピューティングデバイス、携帯電話等として具現化されてよく、補助電子デバイスは、イヤホン、ヘッドセット等のようなウェアラブルデバイスとして具現化されてよい。
【0009】
補助電子デバイスのコントローラは、補助電子デバイスが、リモート電子デバイス上で実行するパーソナルアシスタントと「ワンショット」モードでインタラクトすることを可能にする複数のオペレーションを実装してよく、そのモードにおいて、補助電子デバイスは、パーソナルアシスタントからの準備完了応答信号を待たない。ワンショットモードでの動作は、ユーザとパーソナルアシスタントとのより自然なインタラクションを可能とする。さらに、ワンショットモードでの動作は、パーソナルアシスタントと補助電子デバイスとの間における通信処理に固有の遅延を管理する。
【0010】
いくつかの例において、補助電子デバイスのコントローラは、受信されたオーディオ信号においてキーフレーズを検出するロジックを備えてよい。例えば、パーソナルアシスタントは、パーソナルアシスタントをアクティブ化する「こんにちは、ジャービス(Hello Jarvis)」のような事前に構成されたキーフレーズを与えてよい。代替的に、ユーザは、構成処理中に、カスタマイズされたキーフレーズを入力してよい。補助デバイスのオーディオ入力(例えばマイクロフォン)においてキーフレーズが検出された場合、ロジックは、パーソナルアシスタントをアクティブ化すべく、リモート電子デバイスのパーソナルアシスタントに信号を送信する。
【0011】
補助電子デバイスのロジックは、次に、ユーザからのさらなるオーディオ入力について、オーディオ入力デバイスを監視する。リモート電子デバイスのパーソナルアシスタントマネジャから応答を受信する前に、追加のオーディオ入力がオーディオ入力デバイスで受信された場合、コントローラは、ワンショットモードで動作するように補助電子デバイスを構成する。ワンショットモードで動作する間、補助電子デバイスは、ユーザからのオーディオ入力を、メモリにおいてバッファ処理し、適切な時に、オーディオ入力をリモート電子デバイスのパーソナルアシスタントに転送する。
【0012】
つまり、補助電子デバイスのユーザは、パーソナルアシスタントから準備完了指示を待つ必要なく、パーソナルアシスタントとのインタラクトが可能である。以下、図1−10を参照して、複数の具体的な特徴及び詳細が説明される。
【0013】
図1は、リモート電子デバイスに連結され得るリモート電子デバイス100の例の模式図である。いくつかの態様において、リモート電子デバイス100は、携帯電話、タブレットコンピューティングデバイス、パーソナルデジタルアシスタント(PDA)、ノートパッド、コンピュータ、ビデオカメラ、スマートウォッチ、スマートリストバンド、スマートヘッドフォン等のようなウェアラブルデバイスとして具現化されてよい。リモート電子デバイス100の具体的な実施形態は、重要ではない。
【0014】
いくつかの例において、リモート電子デバイス100は、RF信号を送受信するRFトランシーバ120と、RFトランシーバ120によって受信された信号を処理する信号処理モジュール122とを含んでよい。RFトランシーバ120は、例えばBluetooth(登録商標)又は802.11X、IEEE802.11a、bもしくはgに準拠するインタフェース(例えば、IEEE Standard for IT −Telecommunications and information exchange between systems LAN/MAN − Part II: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications Amendment 4: Further Higher Data Rate Extension in the 2.4 GHz Band, 802.11G−2003を参照)のようなプロトコルを介してのローカル無線接続を実装してよい。無線インタフェースの他の例は、汎用パケット無線サービス(GPRS)インタフェース(例えば、Guidelines on GPRS Handset Requirements, Global System for Mobile Communications/GSM(登録商標)Association, Ver. 3.0.1, December 2002を参照)であろう。
【0015】
リモート電子デバイス100は、1つ又は複数のプロセッサ124とメモリ140とをさらに含んでよい。本明細書において用いられるように、「プロセッサ」という用語は、限定されるものではないが、マイクロプロセッサ、マイクロコントローラ、複雑命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セット(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、又は任意の他のタイプのプロセッサもしくは処理回路のような、任意のタイプの演算要素を意味する。いくつかの例において、プロセッサ124は、カリフォルニア州サンタクララのインテル(登録商標)コーポレーションから入手可能なプロセッサのファミリの1つ又は複数のプロセッサであってよい。代替的に、Intel(登録商標)のItanium(登録商標)、XEON(商標)、ATOM(商標)、及びCeleron(登録商標)プロセッサのような他の複数のプロセッサが利用可能である。また、他の複数の製造業者からの1つ又は複数のプロセッサが利用可能である。さらに、プロセッサは、シングルコア設計を有してよく、又はマルチコア設計を有してよい。
【0016】
いくつかの例において、メモリ140は、ランダムアクセスメモリ(RAM)を含む。しかしながら、メモリモジュール140は、ダイナミックRAM(DRAM)、シンクロナスDRAM(SDRAM)等のような他の複数のメモリタイプを用いて実装されてよい。メモリ140は、プロセッサ124上で実行するパーソナルアシスタント142を含む1つ又は複数のアプリケーションを備えてよい。
【0017】
リモート電子デバイス100は、例えば、キーパッド、タッチパッド、マイクロフォン等のような1つ又は複数の入力/出力デバイス126、1つ又は複数のディスプレイ128、スピーカ134、及び1つ又は複数のレコーディングデバイス130をさらに含んでよい。例として、レコーディングデバイス130は、1つ又は複数のカメラ及び/又はマイクロフォンを備えてよい。画像信号プロセッサ132は、レコーディングデバイス130によって収集された複数の画像を処理するために設けられてよい。
【0018】
いくつかの例において、リモート電子デバイス100は、上述されたプロセッサ124と別個たり得る低電力コントローラ170を含んでよい。図1に示される例において、コントローラ170は、1つ又は複数のプロセッサ172、メモリモジュール174、及びI/Oモジュール176を備える。いくつかの例において、メモリモジュール174は、永続的フラッシュメモリモジュールを備えてよく、I/Oモジュール176は、永続的メモリモジュール、例えば、ファームウェア又はソフトウェアにおいてエンコードされる複数のロジック命令として実装されてよい。I/Oモジュール176はシリアルI/Oモジュール又はパラレルI/Oモジュールを備えてよい。再び、補助的なコントローラ170はメインプロセッサ124と物理的に別個であるため、プロセッサ124が低電力消費状態、例えばスリープ状態のままでいる間に、コントローラ170は、単独で動作してよい。さらに、低電力コントローラ170は、低電力コントローラ170がオペレーティングシステムを介してのハッキングにアクセス不可能であるという意味で、セキュアたり得る。いくつかの例において、パーソナルアシスタント178の例は、コントローラ170上で実行してよい。
【0019】
パーソナルアシスタント178の例は、メモリ140においてパーソナルアシスタント142の完全な機能を有してよい。代替的な複数の例において、コントローラ170上で実行するパーソナルアシスタント178の例は、メモリ140に格納されたパーソナルアシスタント142の一部の機能のみを含んでよい。例えば、パーソナルアシスタント178の例は、例えば、プロセッサ124が低電力又はスリープ状態の場合に、パーソナルアシスタント142への要求を受信しこれに応答するフロントエンドアクセスサービスを提供してよい。パーソナルアシスタント178は、パーソナルアシスタント142からのサービス要求を受信してよく、要求元がパーソナルアシスタント142を用いるために認証されていることを保証する認証処理を実装してよい。例えば、パーソナルアシスタント178は、パスワードを収集してよく、音声プリントをマッチングしてよく、又は他の認証技術を実装してよい。パーソナルアシスタント178は、次に、プロセッサ124を低電力又はスリープ状態から起こし、パーソナルアシスタント142に要求を渡してもよい。
【0020】
図2は、いくつかの実施例に係るインテリジェント補助電子デバイス200の複数のコンポーネントの模式図である。補助電子デバイス200のコンポーネントの多くは、図1に示されるリモート電子デバイス100の対応するコンポーネントと同じであってよい。簡潔性及び明確性のために、これらのコンポーネントの説明は繰り返さない。
【0021】
図2に示される補助電子デバイス200は、低電力スピーチ検出器(LPSD)277を含む。例えば、LPSD277は、低電力消費コントローラとして実装されてよく、これは、常にオンであり、補助電子デバイスに対するマイクロフォンからの入力を定期的に監視する。いくつかの例において、LPSD277は、音声認識モジュールを含んでよく、これにより、LPSDは、1つ又は複数の認識された音声のみに応答する。
【0022】
図2に示されるように、いくつかの例において、補助電子デバイス200は、イヤホン又はヘッドセットのようなウェアラブル電子デバイスとして実装されてよい。
【0023】
図3は、インテリジェント補助電子デバイスがいくつかの実施例に従って実装され得る環境の高レベルの模式図である。図3を参照すると、いくつかの環境において、リモート電子デバイス100は、上述されたように、1つ又は複数の補助電子デバイス200と通信チャネルを確立するような範囲内にあってよい。例えば、リモート電子デバイス100及び補助電子デバイス200間の通信チャネルは、無線通信チャネル、有線通信チャネル、光学通信チャネル等であってよい。
【0024】
リモート電子デバイス100は、通信チャネルによってネットワークアクセスデバイス310に連結されてもよい。例えば、ネットワークアクセスデバイス310は、通信ネットワーク340を介してリモート電子デバイス100に1つ又は複数のネットワークリソース330又は他のリモート電子デバイス100とのアクセスを提供するネットワークアクセスデバイス(例えば、ルータ、基地局等)として具現化されてよい。例えば、ネットワーク340は、無線ネットワーク、例えば無線ローカルエリアネットワーク、及びインターネットのような1つ又は複数の公共ネットワークを含んでよい。
【0025】
補助電子デバイスを実装する様々な構造が説明されたが、動作の態様が、図4−5を参照して説明される。図4は、いくつかの実施例に係るインテリジェント補助デバイスを実装する方法における複数のオペレーションを示すフローチャートであり、図5は、いくつかの実施例に係る複数の電子デバイス間における通信のタイミング図である。図4のフローチャートに示されるいくつかのオペレーションは、補助電子デバイス200のパーソナルアシスタントマネジャ242によって実装されてよい。
【0026】
図4および5を参照すると、補助電子デバイス200のオペレーション410は、キーフレーズを検出する。例えば、いくつかの例において、LPSD277は、指定されたキーフレーズに対応する音声入力がマイクロフォンに受信されたことを検出してよい。例えば、図5を簡単に参照すると、いくつかの例において、ユーザは、キーフレーズ(例えば、「こんにちは、ジャービス(Hello Jarvis)」)をマイクロフォンのような入力/出力デバイス226に入力してよい。キーフレーズは、LPSD277のトリガとして機能する。
【0027】
LPSD277は、キーフレーズを受信し、オペレーション415において、LPSD277は、補助電子デバイス200のプロセッサ224をアクティブ化する信号を生成する。オペレーション420において、プロセッサ224は、リモート電子デバイス100上で実行するパーソナルアシスタント142/178に信号を送信する。図5に示されるように、リモート電子デバイス100上で実行するパーソナルアシスタント142/178がセットアップ処理を経る間に、セットアップレイテンシが発生する。
【0028】
オペレーション425において、補助電子デバイス200は、補助電子デバイス200におけるマイクロフォンへの音声入力について監視を続ける。
【0029】
オペレーション430において、オーディオ入力が受信された場合、制御はオペレーション435に移り、補助電子デバイス200は、受信されたオーディオを、メモリ、例えばメモリ240においてバッファ処理する。いくつかの例において、補助電子デバイス200は、リモート電子デバイス100からの準備完了応答のプレゼンテーションを、オーディオ入力が終了するまでブロックする。一方で、オペレーション430においてオーディオ入力がない場合、制御はオペレーション440に移り、補助電子デバイスがリモート電子デバイス100上で実行するパーソナルアシスタント142/178から応答を受信したか否かが決定される。
【0030】
オペレーション440において、応答が受信されなかった場合、制御はオペレーション445に移り、タイムアウト閾値が経過したか否かが決定される。オペレーション445において、タイムアウト閾値が経過しなかった場合、制御はオペレーション425に戻り、補助電子デバイス200は、補助電子デバイスにおけるマイクロフォンへの音声入力について監視を続ける。一方で、オペレーション445においてタイムアウト期間が経過した場合、制御はオペレーション450に移る。
【0031】
つまり、オペレーション425−445は、ループを定義し、これに従って、補助電子デバイス200は、ユーザが、電子デバイス100上で実行するパーソナルアシスタント142/178から、電子デバイス100上で実行するパーソナルアシスタント142/178の準備完了を示す応答を待つことなく、リモート電子デバイス100上で実行するパーソナルアシスタント142/178に質問を提供し続けることを可能とする。むしろ、ユーザは、質問を入力可能であり、補助電子デバイス200は、メモリ240において質問をバッファ処理する。
【0032】
例えば、図5を再び参照すると、ユーザは、キーフレーズ「こんにちは、ジャービス(Hello Jarvis)」、続いて、例えば「今日のポートランドの天気はどうですか」という質問を入力してよい。補助電子デバイス200上で実行するパーソナルアシスタントマネジャは、今日のポートランドの天気はどうですか」という質問を、メモリ240においてバッファ処理させる。
【0033】
図4を再び参照すると、オペレーション460において、リモート電子デバイス100は、オペレーション420において送信された信号に応答して、リモート電子デバイス上で実行するパーソナルアシスタント142/178をアクティブ化する。パーソナルアシスタント142/178のセットアップ処理は、遅延をもたらす。図5を参照すると、遅延は、PA Delayによって示される。パーソナルアシスタント142/178が準備完了している場合、制御はオペレーション465に移り、パーソナルアシスタント142/178は、これらの準備完了を示す信号を補助電子デバイス200に送信する。この信号は、図5においてPA Ready Signalとして示される。
【0034】
リモート電子デバイス100から準備完了応答信号を受信したこと又はタイムアウト期間の経過は、オペレーション425−445によって定義されたループを終了させ、制御を任意のオペレーションであるオペレーション450に移す。
【0035】
オペレーション450において、補助電子デバイス200は、メモリ240においてバッファ処理されたスピーチにおける無音期間を、任意に検出及び除去する。例えば、スピーチアナライザは、メモリ240においてバッファ処理されたスピーチを分析してよく、時間長閾値より大きい無音期間に対応するデータを削除してよい。代替例において、無音期間に対応するデータは、メモリ140から削除される必要はない。むしろ、無音期間に対応するデータは、無音データとして特定されてよい。
【0036】
オペレーション455において、補助電子デバイス200は、バッファ処理されたオーディオをリモート電子デバイス100上で実行するパーソナルアシスタント142/178に転送する。無音期間に対応するバッファ処理されたデータが削除されるのではなく特定される例において、無音期間に対応するバッファ処理されたデータは、転送される必要はない。いくつかの例において、リモート電子デバイス100上で実行するパーソナルアシスタント142/178への質問の配信を迅速化すべく、オーディオは、アクセラレーテッドデータレートにおいて、バーストモードで転送されてよい。
【0037】
オペレーション470において、リモート電子デバイス100は、複数の標準的な処理オペレーションに従って、オーディオ入力を処理する。 つまり、図5を参照すると、リモート電子デバイス上で実行するパーソナルアシスタントは、質問を受信し、回答を取得し、補助電子デバイス200に回答を転送してよい。
【0038】
オペレーション475において、補助電子デバイスは、リモート電子デバイスからの終了信号を監視する。例えば、リモート電子デバイス100上のパーソナルアシスタント142/178は、パーソナルアシスタント142/178がオーディオ入力を受信し、入力を処理していることを示す信号を送信してよい。オペレーション475において、終了信号が検出された場合、制御がオペレーション480に移り、補助電子デバイス200は、単に、オーディオバッファをフラッシュし、リアルタイムにオーディオ転送を開始してよい。
【0039】
上述されたように、いくつかの例において、電子デバイスは、コンピュータシステムとして具現化されてよい。図6は、実施例に係るコンピューティングシステム600のブロック図を示す。コンピューティングシステム600は、相互接続ネットワーク(又はバス)604を介して通信を行う1つ又は複数の中央処理装置602又はプロセッサを含んでよい。複数のプロセッサ602は、汎用プロセッサ、(コンピュータネットワーク603を介して送受信されたデータを処理する)ネットワークプロセッサ、又は(縮小命令セットコンピュータ(RISC)プロセッサもしくは複雑命令セットコンピュータ(CISC)を含む)他のタイプのプロセッサを含んでよい。さらに、プロセッサ602は、単一の又は複数のコア設計を有してよい。複数のコア設計を有する複数のプロセッサ602は、異なる複数のタイプのプロセッサコアを同じ集積回路(IC)ダイ上で一体化してよい。また、複数のコア設計を有するプロセッサ602は、対称又は非対称マルチプロセッサとして実装されてよい。例において、複数のプロセッサ602のうち1つ又は複数は、図1のプロセッサ102と同じ又は同様であってよい。例えば、複数のプロセッサ602のうち1つ又は複数は、図1を参照して説明された制御ユニット124又は図2のプロセッサ224を含んでよい。また、図4−5を参照して説明された複数のオペレーションは、システム600の1つ又は複数のコンポーネントによって実行されてよい。
【0040】
チップセット606は、相互接続ネットワーク604とさらに通信を行ってもよい。チップセット606は、メモリ制御ハブ(MCH)608を含んでよい。MCH608は、メモリ612と通信を行うメモリコントローラ610を含んでよい。メモリ612は、複数の命令の複数のシーケンスを含むデータを格納してよく、これらは、プロセッサ602又はコンピューティングシステム600に含まれる任意の他のデバイスによって実行されてよい。一例において、メモリ612は、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、シンクロナスDRAM(SDRAM)、スタティックRAM(SRAM)、又は他のタイプのストレージデバイスのような1つ又は複数の揮発性ストレージ(又はメモリ)デバイスを含んでよい。ハードディスクのような不揮発性メモリも、利用可能である。追加の複数のデバイスは、複数のプロセッサ及び/又は複数のシステムメモリのような相互接続ネットワーク604を介して、通信を行ってよい。
【0041】
MCH608は、ディスプレイデバイス616と通信を行うグラフィックインタフェース614をさらに含んでもよい。一例において、グラフィックインタフェース614は、アクセラレーテッドグラフィクスポート(AGP)を介して、ディスプレイデバイス616と通信を行ってよい。例において、(フラットパネルディスプレイのような)ディスプレイ616は、例えば、ビデオメモリ又はシステムメモリのようなストレージデバイスに格納された画像のデジタル表現を、ディスプレイ616によって解読及び表示される複数の表示信号に変換する信号コンバータを通じて、グラフィックインタフェース614と通信を行ってよい。ディスプレイデバイスによって生成される複数の表示信号は、ディスプレイ616によって解読され、次にディスプレイ616上で表示される前に、様々な制御デバイスを通して渡されてもよい。
【0042】
ハブインタフェース618は、MCH608及び入力/出力制御ハブ(ICH)620を通信可能にしてよい。ICH620は、コンピューティングシステム600と通信を行うI/Oデバイスへのインタフェースを提供してよい。ICH620は、周辺機器相互接続(PCI)ブリッジ、ユニバーサルシリアルバス(USB)コントローラ又は複数の他のタイプの周辺ブリッジもしくはコントローラのような周辺ブリッジ(又はコントローラ)624を通じて、バス622と通信を行ってよい。ブリッジ624は、プロセッサ602と複数の周辺デバイスとの間にデータパスを提供してよい。複数の他のタイプのトポロジが、利用可能である。また、複数のバスは、例えば、複数のブリッジ又はコントローラを介して、ICH620と通信を行ってよい。さらに、ICH620と通信を行う他の複数の周辺機器は、様々な例において、統合ドライブエレクトロニクス(IDE)もしくはスモールコンピュータシステムインタフェース(SCSI)ハードドライブ、USBポート、キーボード、マウス、パラレルポート、シリアルポート、フロッピ(登録商標)ディスクドライブ、デジタル出力サポート(例えば、デジタルビデオインタフェース(DVI))、又は複数の他のデバイスを含んでよい。
【0043】
バス622は、オーディオデバイス626、1つ又は複数のディスクドライブ628及び(コンピュータネットワーク603と通信を行う)ネットワークインタフェースデバイス630と通信を行ってよい。複数の他のデバイスは、バス622を介して通信を行ってよい。また、ネットワークインタフェースデバイス630のような)複数の様々なコンポーネントは、いくつかの例において、MCH608と通信を行ってよい。さらに、本明細書で説明されるプロセッサ602及び1つ又は複数の他のコンポーネントは、組み合わせられてよく、これにより、単一のチップを形成(例えば、システムオンチップ(SoC))を提供)する。さらに、グラフィックアクセラレータ616は、複数の他の例において、MCH608内に含まれてよい。
【0044】
さらに、コンピューティングシステム600は、揮発性及び/又は不揮発性メモリ(又はストレージ)を含んでよい。例えば、不揮発性メモリは、リードオンリメモリ(ROM)、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的EPROM(EEPROM)、ディスクドライブ(例えば、628)、フロッピ(登録商標)ディスク、コンパクトディスクROM(CD−ROM)、デジタル多用途ディスク(DVD)、フラッシュメモリ、光磁気ディスク、又は電子データ(例えば、複数の命令を含む)を格納可能な複数の他のタイプの不揮発性機械可読メディアのうち1つ又は複数を含んでよい。
【0045】
図7は、実施例に係るコンピューティングシステム700のブロック図を示す。システム700は、1つ又は複数のプロセッサ702−1から702−N(概して、本明細書においては「複数のプロセッサ702」又は「プロセッサ702」と称される)を含んでよい。複数のプロセッサ702は、相互接続ネットワーク又はバス704を介して通信を行ってよい。各プロセッサは、複数の様々なコンポーネントを含んでよく、それらのいくつかは、明確化のため、プロセッサ702−1のみを参照して説明される。従って、残るプロセッサ702−2から702−Nの各々は、プロセッサ702−1を参照して説明される同じ又は同様の複数のコンポーネントを含んでよい。
【0046】
例において、プロセッサ702−1は、1つ又は複数のプロセッサコア706−1から706−M(本明細書においては「複数のコア706」、又はより一般的には「コア706」と称される)、共有キャッシュ708、ルータ710及び/又はプロセッサ制御ロジックもしくはユニット720を含んでよい。複数のプロセッサコア706は、単一の集積回路(IC)チップ上に実装されてよい。さらに、チップは、1つ又は複数の共有及び/又は専用の(キャッシュ708のような)キャッシュ、複数のバス又は複数の(バス又は相互接続ネットワーク712のような)相互接続、複数のメモリコントローラ又は複数の他のコンポーネントを含んでよい。
【0047】
一例において、ルータ710は、プロセッサ702−1及び/又はシステム700の様々なコンポーネントの間で通信を行うために利用可能である。さらに、プロセッサ702−1は、1つより多くのルータ710を含んでよい。さらに、多数のルータ710が通信を行ってよく、これにより、プロセッサ702−1内外の様々なコンポーネント間におけるデータルーティングが可能となる。
【0048】
共有キャッシュ708は、コア706のようなプロセッサ702−1の1つ又は複数のコンポーネントによって用いられるデータ(例えば、複数の命令を含む)を格納してよい。例えば、共有キャッシュ708は、プロセッサ702の複数のコンポーネントによるアクセスをより高速化するために、メモリ714に格納されたデータをローカルにキャッシュしてよい。例において、キャッシュ708は、(レベル2(L2)、レベル3(L3)、レベル4(L4)又は他の複数のレベルのキャッシュのような)中レベルキャッシュ、ラストレベルキャッシュ(LLC)、及び/又はこれらの複数の組み合わせを含んでよい。さらに、プロセッサ702−1の様々なコンポーネントは、直接、バス(例えばバス712)、及び/又はメモリコントローラもしくはハブを介して、共有キャッシュ708と通信を行ってよい。図7に示されるように、いくつかの例において、複数のコア706のうち1つ又は複数は、レベル1(L1)キャッシュ716−1(概して本明細書においては「L1キャッシュ716」と称される)を含んでよい。
【0049】
図8は、実施例に係るコンピューティングシステムのプロセッサコア706及び複数の他のコンポーネントの一部のブロック図を示す。一例において、図8に示される複数の矢印は、コア706を介しての複数の命令のフローの方向を示す。1つ又は複数のプロセッサコア(例えばプロセッサコア706の)は、図7を参照して説明されたもののような単一の集積回路チップ(又はダイ)上に実装されてよい。さらに、チップは、1つ又は複数の共有及び/又は専用キャッシュ(例えば、図7のキャッシュ708)、相互接続(例えば、図7の相互接続704及び/又は112)、制御ユニット、メモリコントローラ又は複数の他のコンポーネントを含んでよい。
【0050】
図8に示されるように、プロセッサコア706は、フェッチユニット802を含んでよく、これにより、複数の命令(複数の条件付き分岐を有する複数の命令を含む)をコア706による実行のためにフェッチしてよい。複数の命令は、メモリ714のような任意の複数のストレージデバイスからフェッチされてよい。コア706は、デコードユニット804をさらに含んでもよく、これにより、フェッチされた命令をデコードする。例えば、デコードユニット804は、フェッチされた命令を複数のμop(マイクロオペレーション)にデコードしてよい。
【0051】
さらに、コア706は、スケジューリングユニット806を含んでよい。スケジューリングユニット806は、複数の命令がディスパッチの準備完了となるまで、例えば、デコードされた命令の全てのソース値が適用可能となるまで、複数のデコードされた命令(例えば、デコードユニット804から受信されたもの)の格納に関連付けられた様々なオペレーションを実行してよい。一例において、スケジューリングユニット806は、複数のデコードされた命令をスケジューリングし、及び/又はこれらを実行のために実行ユニット808に発し(又はディスパッチし)てよい。実行ユニット808は、複数のディスパッチされた命令が(例えばデコードユニット804によって)デコードされ、(例えばスケジューリングユニット806によって)ディスパッチされた後、これらを実行してよい。例において、実行ユニット808は、1つより多くの実行ユニットを含んでよい。実行ユニット808は、加算、減算、乗算、及び/又は除算のような様々な演算オペレーションをさらに実行してよく、1つ又は複数の演算論理ユニット(ALU)を含んでよい。例において、コプロセッサ(不図示)は、実行ユニット808と連携して、様々な演算オペレーションを実行してよい。
【0052】
さらに、実行ユニット808は、複数の命令をアウトオブオーダで実行してよい。従って、一例において、プロセッサコア706は、アウトオブオーダプロセッサコアであってよい。コア706は、リタイアメントユニット810をさらに含んでもよい。リタイアメントユニット810は、実行された複数の命令を、これらがコミットされた後でリタイアしてよい。例において、実行された複数の命令のリタイアは、プロセッサの状態が複数の命令の実行からコミットされる、複数の命令によって用いられた複数の物理レジスタが解放される等の結果をもたらしてよい。
【0053】
コア706は、プロセッサコア706の複数のコンポーネントと(図8を参照して説明されたコンポーネントのような)複数の他のコンポーネントとの間の通信を、1つ又は複数のバス(例えば、バス804及び/又は812)を介して可能とするバスユニット714をさらに含んでもよい。コア706は、(電力消費状態設定に関する複数の値のような)コア706の様々なコンポーネントによってアクセスされるデータを格納する1つ又は複数のレジスタ816をさらに含んでもよい。
【0054】
さらに、図7は、制御ユニット720が相互接続812を介してコア706に連結されるものとして示すものの、複数の様々な例において、制御ユニット720は、バス704等を介してコアに連結されるコア706の内部のような他の箇所に配置されてよい。
【0055】
いくつかの例において、本明細書で説明される複数のコンポーネントのうち1つ又は複数は、システムオンチップ(SoC)デバイスとして具現化されてよい。図9は、実施例に係るSoCパッケージのブロック図を示す。図9に示されるように、SoC902は、1つ又は複数のプロセッサコア920、1つ又は複数のグラフィックプロセッサコア930、入力/出力(I/O)インタフェース940及びメモリコントローラ942を含む。SoCパッケージ902の様々なコンポーネントは、本明細書において複数の他の図を参照して説明されるもののような相互接続又はバスに連結されてよい。また、SoCパッケージ902は、本明細書において複数の他の図を参照して説明されるもののような、より多くの又はより少ないコンポーネントを含んでよい。さらに、SoCパッケージ902の各コンポーネントは、例えば、本明細書の複数の他の図を参照して説明されるような1つ又は複数の他のコンポーネントを含んでよい。一例において、SoCパッケージ902(及びその複数のコンポーネント)は、例えば、単一の半導体デバイスにパッケージ化される1つ又は複数の集積回路(IC)ダイ上に提供される。
【0056】
図9に示されるように、SoCパッケージ902は、メモリコントローラ942を介して、(本明細書において複数の他の図を参照して説明されるメモリと同様又は同じたり得る)メモリ960に連結される。例において、メモリ960(又はその一部)は、SoCパッケージ902に一体化されてよい。
【0057】
I/Oインタフェース940は、例えば、本明細書において複数の他の図を参照して説明されるもののような相互接続及び/又はバスを介して、1つ又は複数のI/Oデバイス970に連結されてよい。I/Oデバイス970は、キーボード、マウス、タッチパッド、ディスプレイ、(カメラ又はカムコーダ/ビデオレコーダのような)画像/ビデオキャプチャデバイス、タッチ面、スピーカ等のうち1つ又は複数を含んでよい。
【0058】
図10は、実施例に係るポイントツーポイント(PtP)構成で構成されるコンピューティングシステム1000を示す。詳細には、図10は、複数のプロセッサ、メモリ及び複数の入力/出力デバイスが、多数のポイントツーポイントインタフェースによって相互接続されるシステムを示す。図2を参照して説明された複数のオペレーションは、システム1000の1つ又は複数のコンポーネントによって実行されてよい。
【0059】
図10に示されるように、システム1000は、いくつかのプロセッサを含んでよく、これらは明確化のため、プロセッサ1002および1004の2つのみが示される。プロセッサ1002および1004は、各々、ローカルメモリコントローラハブ(MCH)1006及び1008を含んでよく、これにより、メモリ1010および1012との通信を可能としてよい。いくつかの例において、MCH1006および1008は、図1のメモリコントローラ120及び/又はロジック125を含んでよい。
【0060】
例において、プロセッサ1002および1004は、図7を参照して説明された複数のプロセッサ702のうちの1つであってよい。プロセッサ1002および1004は、ポイントツーポイント(PtP)インタフェース1014を介して、PtPインタフェース回路1016および1018のそれぞれを用いてデータを交換してよい。また、プロセッサ1002および1004は、個々のPtPインタフェース1022および1024を介して、ポイントツーポイントインタフェース回路1026、1028、1030および1032を用いて、チップセット1020と各々データを交換してよい。チップセット1020は、高性能グラフィックインタフェース1036を介して、例えば、PtPインタフェース回路1037を用いて、高性能グラフィック回路1034とさらにデータを交換してよい。
【0061】
図10に示されるように、図1の複数のコア106及び/又はキャッシュ108のうち1つ又は複数は、プロセッサ1004内に配置されてよい。複数の他の例は、しかしながら、図10のシステム1000内の他の複数の回路、複数の論理ユニット又は複数のデバイスに存在してよい。さらに、本発明の複数の他の例は、図10に示されるいくつかの回路、論理ユニット又はデバイス全体に分散されてよい。
【0062】
チップセット1020は、PtPインタフェース回路1041を用いてバス1040と通信を行ってよい。バス1040は、それ自体と通信を行うバスブリッジ1042及びI/Oデバイス1043のような1つ又は複数のデバイスを有してよい。バス1044を介して、バスブリッジ1043は、キーボード/マウス1045、(モデム、ネットワークインタフェースデバイス又はコンピュータネットワーク1003と通信可能な他の通信デバイスのような)通信デバイス1046、オーディオI/Oデバイス、及び/又はデータストレージデバイス1048のような複数の他のデバイスと通信を行ってよい。データストレージデバイス1048(ハードディスクドライブ又はNANDフラッシュベースのソリッドステートドライブであってよい)は、複数のプロセッサ1004によって実行可能なコード1049を格納してよい。以下の複数の例は、さらなる複数の例に関する。
【0063】
例1は、ハードウェアロジックを少なくとも部分的に含むロジックを備えるコントローラであって、ロジックは、受信されたオーディオ信号においてキーフレーズを検出し、キーフレーズに応答して、リモート電子デバイスのパーソナルアシスタントに信号を送信し、オーディオ入力が受信されたか否かを決定し、リモート電子デバイスのパーソナルアシスタントから応答を受信する前に追加のオーディオ入力が受信されたという決定に応答して、オーディオ入力をメモリにおいてバッファ処理し、オーディオ入力をリモート電子デバイスのパーソナルアシスタントに転送するように構成される。
【0064】
例2において、例1に記載の主題は、ロジックが、受信されたオーディオ信号においてキーフレーズを検出する低電力コントローラを含む構成を任意に含んでよい。
【0065】
例3において、例1−2のいずれか1つに記載の主題は、リモート電子デバイスのパーソナルアシスタントマネジャから応答を受信する前に追加のオーディオ入力が受信されたという決定に応答して、プロセッサをアクティブ化するようにさらに構成されるロジックを任意に含んでよい。
【0066】
例4において、例1−3のいずれか1つに記載の主題は、リモート電子デバイスのパーソナルアシスタントからの準備完了応答について監視するようにさらに構成されるロジックを任意に含んでよい。
【0067】
例5において、例1−4のいずれか1つに記載の主題は、リモート電子デバイスのパーソナルアシスタントから応答を受信する前に追加のオーディオ入力が受信されたという決定に応答して、パーソナルアシスタントからの準備完了応答のプレゼンテーションをブロックするようにさらに構成されるロジックを任意に含んでよい。
【0068】
例6において、例1−5のいずれか1つに記載の主題は、メモリからリモート電子デバイスに、オーディオ入力を送信するようにさらに構成されるロジックを任意に含んでよい。
【0069】
例7において、例1−6のいずれか1つに記載の主題は、メモリにおいてバッファ処理されたオーディオ入力において無音期間を検出し、メモリにおいてバッファ処理されたメモリにおいてオーディオ入力からリモート電子デバイスにオーディオ入力が送信される前に、バッファ処理された無音期間を除去するようにさらに構成されるロジックを任意に含んでよい。
【0070】
例8において、例1−7のいずれか1つに記載の主題は、メモリからリモート電子デバイスにオーディオ入力を送信するようにさらに構成されるロジックを任意に含んでよく、ロジックは、アクセラレーテッドデータレートにおいて、バーストモードでオーディオ入力を送信するロジックを含む。
【0071】
例9は、オーディオ入力デバイスと、通信インタフェースと、ハードウェアロジックを少なくとも部分的に含むロジックを含むコントローラと、を備える電子デバイスであって、ロジックは、受信されたオーディオ信号においてキーフレーズを検出し、キーフレーズに応答して、リモート電子デバイスのパーソナルアシスタントに信号を送信し、オーディオ入力が受信されたか否か決定し、リモート電子デバイスのパーソナルアシスタントから応答を受信する前に追加のオーディオ入力が受信されたという決定に応答して、メモリにおいてオーディオ入力をバッファ処理し、オーディオ入力をリモート電子デバイスのパーソナルアシスタントに転送するように構成される。
【0072】
例10において、例9に記載の主題は、ロジックが、受信されたオーディオ信号においてキーフレーズを検出する低電力コントローラを含む構成を任意に含んでよい。
【0073】
例11において、例9−10のいずれか1つに記載の主題は、リモート電子デバイスのパーソナルアシスタントマネジャから応答を受信する前に追加のオーディオ入力が受信されたという決定に応答して、プロセッサをアクティブ化するようにさらに構成されるロジックを任意に含んでよい。
【0074】
例12において、例9−11のいずれか1つに記載の主題は、リモート電子デバイスのパーソナルアシスタントからの準備完了応答について監視するようにさらに構成されるロジックを任意に含んでよい。
【0075】
例13において、例9−12のいずれか1つに記載の主題は、リモート電子デバイスのパーソナルアシスタントから応答を受信する前に追加のオーディオ入力が受信されたという決定に応答して、パーソナルアシスタントからの準備完了応答のプレゼンテーションをブロックするようにさらに構成されるロジックを任意に含んでよい。
【0076】
例14において、例9−13のいずれか1つに記載の主題は、メモリからリモート電子デバイスに、オーディオ入力を送信するようにさらに構成されるロジックを任意に含んでよい。
【0077】
例15において、例9−14のいずれか1つに記載の主題は、メモリにおいてバッファ処理されたオーディオ入力において無音期間を検出し、メモリにおいてバッファ処理されたメモリにおいてオーディオ入力からリモート電子デバイスにオーディオ入力が送信される前に、バッファ処理された無音期間を除去するようにさらに構成されるロジックを任意に含んでよい。
【0078】
例16において、例9−15のいずれか1つに記載の主題は、メモリからリモート電子デバイスにオーディオ入力を送信するようにさらに構成されるロジックを任意に含んでよく、ロジックは、アクセラレーテッドデータレートにおいて、バーストモードでオーディオ入力を送信するロジックを含む。
【0079】
例17は、オーディオ入力デバイスと、通信インタフェースと、受信されたオーディオ信号においてキーフレーズを検出し、キーフレーズに応答して、リモート電子デバイスのパーソナルアシスタントに信号を送信し、オーディオ入力が受信されたか否かを決定し、リモート電子デバイスのパーソナルアシスタントから応答を受信する前に追加のオーディオ入力が受信されたという決定に応答して、オーディオ入力をメモリにおいてバッファ処理し、リモート電子デバイスのパーソナルアシスタントにオーディオ入力を転送する手段と、を備える電子デバイスである。
【0080】
例18において、例17に記載の主題は、ロジックが、受信されたオーディオ信号においてキーフレーズを検出する低電力コントローラを含む構成を任意に含んでよい。
【0081】
例19において、例17−18のいずれか1つに記載の主題は、リモート電子デバイスのパーソナルアシスタントマネジャから応答を受信する前に追加のオーディオ入力が受信されたという決定に応答して、プロセッサをアクティブ化するようにさらに構成されるロジックを任意に含んでよい。
【0082】
例20において、例17−19のいずれか1つに記載の主題は、リモート電子デバイスのパーソナルアシスタントからの準備完了応答について監視するようにさらに構成されるロジックを任意に含んでよい。
【0083】
例21において、例17−20のいずれか1つに記載の主題は、リモート電子デバイスのパーソナルアシスタントから応答を受信する前に追加のオーディオ入力が受信されたという決定に応答して、パーソナルアシスタントからの準備完了応答のプレゼンテーションをブロックするようにさらに構成されるロジックを任意に含んでよい。
【0084】
例22において、例17−21のいずれか1つに記載の主題は、メモリからリモート電子デバイスに、オーディオ入力を送信するようにさらに構成されるロジックを任意に含んでよい。
【0085】
例23において、例17−22のいずれか1つに記載の主題は、メモリにおいてバッファ処理されたオーディオ入力において無音期間を検出し、メモリにおいてバッファ処理されたオーディオ入力からリモート電子デバイスにオーディオ入力が送信される前に、メモリにおいてバッファ処理された無音期間を除去するようにさらに構成されるロジックを任意に含んでよい。
【0086】
例24において、例17−23のいずれか1つに記載の主題は、メモリからリモート電子デバイスにオーディオ入力を送信するようにさらに構成されるロジックを任意に含んでよく、ロジックは、アクセラレーテッドデータレートにおいて、バーストモードでオーディオ入力を送信するロジックを含む。
【0087】
例25は、コントローラによって実行された場合に、受信されたオーディオ信号においてキーフレーズを検出し、キーフレーズに応答して、リモート電子デバイスのパーソナルアシスタントに信号を送信し、オーディオ入力が受信されたか否かを決定し、リモート電子デバイスのパーソナルアシスタントから応答を受信する前に追加のオーディオ入力が受信されたという決定に応答して、オーディオ入力をメモリにおいてバッファ処理し、オーディオ入力をリモート電子デバイスのパーソナルアシスタントに転送するようにコントローラを構成する、有形のコンピュータ可読媒体に格納された複数のロジック命令を備える、コンピュータプログラム製品である。
【0088】
例26において、例25に記載の主題は、ロジックが、受信されたオーディオ信号においてキーフレーズを検出する低電力コントローラを含む構成を任意に含んでよい。
【0089】
例27において、例25−26のいずれか1つに記載の主題は、コントローラによって実行された場合に、リモート電子デバイスのパーソナルアシスタントマネジャから応答を受信する前に追加のオーディオ入力が受信されたという決定に応答して、プロセッサをアクティブ化するようにコントローラを構成する、有形のコンピュータ可読媒体に格納された複数のロジック命令を任意に含んでよい。
【0090】
例28において、例25−27のいずれか1つに記載の主題は、コントローラによって実行された場合に、リモート電子デバイスのパーソナルアシスタントからの準備完了応答について監視するようにコントローラを構成する、有形のコンピュータ可読媒体に格納された複数のロジック命令を任意に含んでよい。
【0091】
例29において、例25−28のいずれか1つに記載の主題は、コントローラによって実行された場合に、リモート電子デバイスのパーソナルアシスタントから応答を受信する前に追加のオーディオ入力が受信されたという決定に応答して、パーソナルアシスタントからの準備完了応答のプレゼンテーションをブロックするようにコントローラを構成する、有形のコンピュータ可読媒体に格納された複数のロジック命令を任意に含んでよい。
【0092】
例30において、例25−29のいずれか1つに記載の主題は、コントローラによって実行された場合に、メモリからリモート電子デバイスにオーディオ入力を送信するようにコントローラを構成する、有形のコンピュータ可読媒体に格納された複数のロジック命令を任意に含んでよい。
【0093】
例31において、例25−30のいずれか1つに記載の主題は、コントローラによって実行された場合に、メモリにおいてバッファ処理されたオーディオ入力において無音期間を検出し、メモリにおいてバッファ処理されたオーディオ入力がリモート電子デバイスに送信される前に、メモリにおいてバッファ処理されたオーディオ入力から無音期間を除去するようにコントローラを構成する、有形のコンピュータ可読媒体に格納された複数のロジック命令を任意に含んでよい。
【0094】
例32において、例25−31のいずれか1つに記載の主題は、コントローラによって実行された場合に、メモリからリモート電子デバイスにオーディオ入力を送信させるようにコントローラを構成する有形のコンピュータ可読媒体に格納された複数のロジック命令を任意に含んでよく、アクセラレーテッドデータレートにおいて、バーストモードでオーディオ入力を送信する複数のロジック命令を含む。
【0095】
例33は、受信されたオーディオ信号においてキーフレーズを検出する段階と、キーフレーズに応答して、リモート電子デバイスのパーソナルアシスタントに信号を送信する段階と、オーディオ入力が受信されたか否かを決定する段階と、リモート電子デバイスのパーソナルアシスタントから応答を受信する前に追加のオーディオ入力が受信されたという決定に応答して、メモリにおいてオーディオ入力をバッファ処理する段階と、リモート電子デバイスのパーソナルアシスタントにオーディオ入力を転送する段階と、を備える方法である。
【0096】
例34において、例33に記載の主題は、ロジックが、受信されたオーディオ信号においてキーフレーズを検出する低電力コントローラを含む構成を任意に含んでよい。
【0097】
例35において、例33−34のいずれか1つに記載の主題は、リモート電子デバイスのパーソナルアシスタントマネジャから応答を受信する前に追加のオーディオ入力が受信されたという決定に応答して、プロセッサをアクティブ化するようにさらに構成されるロジックを任意に含んでよい。
【0098】
例36において、例33−35のいずれか1つに記載の主題は、リモート電子デバイスのパーソナルアシスタントからの準備完了応答について監視するようにさらに構成されるロジックを任意に含んでよい。
【0099】
例37において、例33−36のいずれか1つに記載の主題は、リモート電子デバイスのパーソナルアシスタントから応答を受信する前に追加のオーディオ入力が受信されたという決定に応答して、パーソナルアシスタントからの準備完了応答のプレゼンテーションをブロックするようにさらに構成されるロジックを任意に含んでよい。
【0100】
例38において、例33−37のいずれか1つに記載の主題は、メモリからリモート電子デバイスに、オーディオ入力を送信するようにさらに構成されるロジックを任意に含んでよい。
【0101】
例39において、例33−38のいずれか1つに記載の主題は、メモリにおいてバッファ処理されたオーディオ入力において無音期間を検出し、メモリにおいてバッファ処理されたオーディオ入力からリモート電子デバイスにオーディオ入力が送信される前に、メモリにおいてバッファ処理された無音期間を除去するようにさらに構成されるロジックを任意に含んでよい。
【0102】
例40において、例33−39のいずれか1つに記載の主題は、メモリからリモート電子デバイスにオーディオ入力を送信するようにさらに構成されるロジックを任意に含んでよく、ロジックは、アクセラレーテッドデータレートにおいて、バーストモードでオーディオ入力を送信するロジックを含む。
【0103】
本明細書において「ロジック命令」と称される用語は、1つ又は複数の論理オペレーションを実行する1つ又は複数の機械によって理解され得る複数の表現に関する。 例えば、複数のロジック命令は、1つ又は複数のデータオブジェクトに対し、1つ又は複数のオペレーションを実行するプロセッサコンパイラによって解釈可能な複数の命令を備えてよい。 しかしながら、これは、機械可読命令の例に過ぎず、複数の例は、この点で限定されるものではない。
【0104】
本明細書において「コンピュータ可読媒体」と称される用語は、1つ又は複数の機械によって理解可能な複数の表現を維持可能なメディアに関する。例えば、コンピュータ可読媒体は複数のコンピュータ可読命令又はデータを格納する、1つ又は複数のストレージデバイスを含んでよい。このような複数のストレージデバイスは、例えば、光学、磁気、又は半導体ストレージメディアのようなストレージメディアを含んでよい。しかしながら、これは、コンピュータ可読媒体の例に過ぎず、複数の例は、この点で限定されるものではない。
【0105】
本明細書において「ロジック」と称される用語は、1つ又は複数の論理オペレーションを実行する構造に関する。例えば、ロジックは1つ又は複数の入力信号に基づいて、1つ又は複数の出力信号を提供する回路を備えてよい。このような回路は、デジタル入力を受信し、デジタル出力を提供する有限状態機械、又は、1つ又は複数のアナログ入力信号に応答して1つ又は複数のアナログ出力信号を提供する回路を備えてよい。このような回路は、特定用途向け集積回路(ASIC)又はフィールドプログラマブルゲートアレイ(FPGA)に設けられてよい。また、ロジックは、このような複数の機械可読命令を実行する処理回路と組み合わせられて、メモリ内に格納された複数の機械可読命令を備えてよい。しかしながら、これらは、ロジックを提供し得る複数の構造の例に過ぎず、これらの例は、この点で限定されるものではない。
【0106】
本明細書において説明された複数の方法のいくつかは、コンピュータ可読媒体上の複数のロジック命令として具現化されてよい。プロセッサ上で実行された場合、複数のロジック命令は、プロセッサに、本明細書において説明され他複数の方法を実装する、特定用途向けの機械としてプログラミングされるようにさせる。プロセッサが本明細書において説明された複数の方法を実行する複数のロジック命令によって構成される場合、プロセッサは、説明された複数の方法を実行する構造を構成する。代替的に、本明細書において説明された複数の方法は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)等におけるロジックに縮小されてよい。
【0107】
詳細な説明及び特許請求の範囲において、「連結され」及び「接続され」という用語は、これらの派生語と共に用いられてよい。複数の具体例において、「接続される」とは、2つ又はそれより多くの要素が、互いに対して物理的に又は電気的に直接接触することを示すために用いられてよい。「連結される」とは、2つ又はそれより多くの要素が、物理的に又は電気的に直接接触する状態にあることを意味してよい。しかしながら、「連結される」とは、2つ又はそれより多くの要素が互いに直接接触しなくてよいが、なおも互いに連携又はインタラクトし得ることを意味してよい。
【0108】
本明細書における「一例」又は「いくつかの例」という記載は、その例と関連して説明される特定の特徴、構造、又は特性が、少なくとも実装に含まれることを意味する。本明細書の様々な箇所で登場する「一例において」という語句は、全て同じ例を指してもよく、又は指さなくてもよい。
【0109】
複数の例が、複数の構造的特徴及び/又は方法論的動作に固有の記載で説明されたが、特許請求の範囲に記載された主題は、説明された複数の具体的な特徴又は動作に限定されなくてよいことを理解されたい。むしろ、複数の具体的な特徴及び複数の動作は、特許請求の範囲に記載された主題を実装するための複数の例示的な形式として開示される。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10