(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-05-08
(54)【発明の名称】音声コマンドのための仮想コンテキストの作成
(51)【国際特許分類】
G06F 3/0484 20220101AFI20240426BHJP
G10L 15/28 20130101ALI20240426BHJP
G10L 15/25 20130101ALI20240426BHJP
G06F 3/16 20060101ALI20240426BHJP
G06F 3/0482 20130101ALI20240426BHJP
G06F 3/01 20060101ALI20240426BHJP
【FI】
G06F3/0484
G10L15/28 400
G10L15/25
G06F3/16 650
G06F3/0482
G06F3/01 570
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023562498
(86)(22)【出願日】2022-04-06
(85)【翻訳文提出日】2023-10-11
(86)【国際出願番号】 IB2022053194
(87)【国際公開番号】W WO2022238776
(87)【国際公開日】2022-11-17
(32)【優先日】2021-05-10
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(74)【復代理人】
【識別番号】110000420
【氏名又は名称】弁理士法人MIP
(72)【発明者】
【氏名】カリ、ヴェンカタ ヴァラ プラサド
(72)【発明者】
【氏名】ジャイン、アビシェク
(72)【発明者】
【氏名】ラクシト、サルバジット
(72)【発明者】
【氏名】シャイク、カダー
(72)【発明者】
【氏名】ペルマラ、サラスワティー
【テーマコード(参考)】
5E555
【Fターム(参考)】
5E555AA28
5E555AA46
5E555BA08
5E555BA83
5E555BA87
5E555BB08
5E555CA42
5E555CA45
5E555CA47
5E555CB65
5E555CB82
5E555DA08
5E555DA23
5E555DB11
5E555DB53
5E555DB57
5E555EA05
5E555EA20
5E555EA23
5E555FA00
(57)【要約】
方法は、複数の環境に設置された複数の音声支援システムを特定することと、ユーザのヘッドセットから、ユーザからの音声コマンドを受信することとを含む。音声コマンドは、複数の環境のうちの第1の環境における複数の音声支援システムのうちの第1の音声支援システムの識別子を欠いている。この方法はまた、音声コマンドに基づいて、音声コマンドを実行するための複数の音声支援システムのサブセットを予測することと、複数の音声支援システムのサブセットが設置された複数の環境のうちの環境の画像をヘッドセットに伝達することとを含む。この方法はさらに、ユーザが、画像の中から、第1の音声支援システムを含む第1の環境の画像を選択したことを検出することと、それに応答して、音声コマンドを第1の音声支援システムに伝達することとを含む。
【特許請求の範囲】
【請求項1】
複数の環境に設置された複数の音声支援システムを特定することと、
ユーザのヘッドセットから、前記ユーザからの音声コマンドを受信することであって、前記音声コマンドは、前記複数の環境のうちの第1の環境における前記複数の音声支援システムのうちの第1の音声支援システムの識別子を欠いている、前記受信することと、
前記音声コマンドに基づいて、前記音声コマンドを実行するための前記複数の音声支援システムのサブセットを予測することと、
前記複数の音声支援システムの前記サブセットが設置された前記複数の環境のうちの環境の画像を前記ヘッドセットに伝達することと、
前記ユーザが、前記画像の中から、前記第1の音声支援システムを含む前記第1の環境の画像を選択したことを検出することと、
前記ユーザが前記第1の環境の前記画像を選択したことを検出したことに応答して、前記音声コマンドを前記第1の音声支援システムに伝達することと
を含む方法。
【請求項2】
前記第1の環境に配置された複数のマイクロフォンに基づいて、前記音声コマンドの方向を特定することと、
前記方向に基づいて、前記音声コマンドのターゲットを特定することと、
前記ターゲットに対して前記音声コマンドを実行するように、前記音声コマンドの前記ターゲットを前記第1の音声支援システムに伝達することと
をさらに含む、請求項1に記載の方法。
【請求項3】
前記方向は、前記複数のマイクロフォンのうちの各マイクロフォンによって検出された前記音声コマンドの音量に基づいて特定される、請求項2に記載の方法。
【請求項4】
前記ユーザの目の方向を検出することと、
前記ユーザの前記目の前記方向に基づいて、前記音声コマンドのターゲットを特定することと、
前記ターゲットに対して前記音声コマンドを実行するように、前記音声コマンドの前記ターゲットを前記第1の音声支援システムに伝達することと
をさらに含む、請求項1に記載の方法。
【請求項5】
前記音声コマンドに対応する画像を前記ヘッドセットに伝達することと、
前記ユーザによる前記音声コマンドに対応する前記画像とのインタラクションに基づいて、前記音声コマンドのターゲットを特定することと、
前記ターゲットに対して前記音声コマンドを実行するように、前記ターゲットを前記第1の音声支援システムに伝達することと
をさらに含む、請求項1に記載の方法。
【請求項6】
前記ユーザの地理的位置を特定することをさらに含み、前記複数の音声支援システムのサブセットを予測することは前記地理的位置にさらに基づく、請求項1に記載の方法。
【請求項7】
前記ユーザとは異なる前記音声コマンドの受信者を特定することと、
前記受信者の存在を検出することと、
前記受信者の前記存在を検出したことに応答して、前記音声コマンドを前記受信者に伝達することと
をさらに含む、請求項1に記載の方法。
【請求項8】
メモリと、
前記メモリに通信可能に結合されたハードウェア・プロセッサと、
を備え、前記ハードウェア・プロセッサは、
複数の環境に設置された複数の音声支援システムを特定することと、
ユーザのヘッドセットから、前記ユーザからの音声コマンドを受信することであって、前記音声コマンドは、前記複数の環境のうちの第1の環境における前記複数の音声支援システムのうちの第1の音声支援システムの識別子を欠いている、前記受信することと、
前記音声コマンドに基づいて、前記音声コマンドを実行するための前記複数の音声支援システムのサブセットを予測することと、
前記複数の音声支援システムの前記サブセットが設置された前記複数の環境のうちの環境の画像を前記ヘッドセットに伝達することと、
前記ユーザが、前記画像の中から、前記第1の音声支援システムを含む前記第1の環境の画像を選択したことを検出することと、
前記ユーザが前記第1の環境の前記画像を選択したことを検出したことに応答して、前記音声コマンドを前記第1の音声支援システムに伝達することと
を実行するように構成される、装置。
【請求項9】
前記ハードウェア・プロセッサは、
前記第1の環境に配置された複数のマイクロフォンに基づいて、前記音声コマンドの方向を特定することと、
前記方向に基づいて、前記音声コマンドのターゲットを特定することと、
前記ターゲットに対して前記音声コマンドを実行するように、前記音声コマンドの前記ターゲットを前記第1の音声支援システムに伝達することと
を実行するようにさらに構成される、請求項8に記載の装置。
【請求項10】
前記方向は、前記複数のマイクロフォンのうちの各マイクロフォンによって検出された前記音声コマンドの音量に基づいて特定される、請求項9に記載の装置。
【請求項11】
前記ハードウェア・プロセッサは、
前記ユーザの目の方向を検出することと、
前記ユーザの前記目の前記方向に基づいて、前記音声コマンドのターゲットを特定することと、
前記ターゲットに対して前記音声コマンドを実行するように、前記音声コマンドの前記ターゲットを前記第1の音声支援システムに伝達することと
を実行するようにさらに構成される、請求項8に記載の装置。
【請求項12】
前記ハードウェア・プロセッサは、
前記音声コマンドに対応する画像を前記ヘッドセットに伝達することと、
前記ユーザによる前記音声コマンドに対応する前記画像とのインタラクションに基づいて、前記音声コマンドのターゲットを特定することと、
前記ターゲットに対して前記音声コマンドを実行するように、前記ターゲットを前記第1の音声支援システムに伝達することと
を実行するようにさらに構成される、請求項8に記載の装置。
【請求項13】
前記ハードウェア・プロセッサは、前記ユーザの地理的位置を特定することを実行するようにさらに構成され、前記複数の音声支援システムのサブセットを予測することは前記地理的位置にさらに基づく、請求項8に記載の装置。
【請求項14】
前記ハードウェア・プロセッサは、
前記ユーザとは異なる前記音声コマンドの受信者を特定することと、
前記受信者の存在を検出することと、
前記受信者の前記存在を検出したことに応答して、前記音声コマンドを前記受信者に伝達することと
を実行するようにさらに構成される、請求項8に記載の装置。
【請求項15】
複数の環境のうちの第1の環境における複数の音声支援システムのうちの第1の音声支援システムの識別子を欠いている音声コマンドをユーザから受け取ることと、
前記音声コマンドをコマンド・サーバに伝達することと、
前記コマンド・サーバから、前記複数の音声支援システムが設置された前記複数の環境のうちの環境の画像を受信することと、
前記ユーザに前記画像を提示することと、
前記ユーザが、前記提示された画像の中から、前記第1の音声支援システムを含む前記第1の環境の画像を選択したことを検出することと、
前記第1の音声支援システムが前記音声コマンドを実行するように、前記ユーザが前記画像を選択したことを前記コマンド・サーバに示すことと
を含む、方法。
【請求項16】
前記ユーザが前記画像を選択したことを検出することは、
前記ユーザの目の方向を検出することと、
前記ユーザの前記目の前記方向に基づいて、前記提示された画像の中から前記画像を特定することと
を含む、請求項15に記載の方法。
【請求項17】
前記ユーザが前記画像を選択したことを検出することは、
前記第1の環境を示す第2の音声コマンドを検出することと、
前記第2の音声コマンドに基づいて、前記提示された画像の中から前記画像を特定することと、
を含む、請求項15に記載の方法。
【請求項18】
前記音声コマンドに対応する画像を提示することと、
前記ユーザによる前記画像とのインタラクションを特定することと、
前記コマンド・サーバに前記インタラクションを伝達することと
をさらに含む、請求項15に記載の方法。
【請求項19】
前記ユーザの地理的位置を特定することと、
前記ユーザの前記地理的位置を前記コマンド・サーバに伝達することと
をさらに含む、請求項15に記載の方法。
【請求項20】
前記ユーザとは異なる前記音声コマンドの受信者の存在を検出することと、
前記受信者の前記存在の通知を前記コマンド・サーバに伝達することと
をさらに含む、請求項15に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は音声支援システムに関し、より詳細には、音声コマンドのための仮想コンテキストの作成に関する。
【発明の概要】
【0002】
一実施形態によれば、方法は、複数の環境に設置された複数の音声支援システムを特定することと、ユーザのヘッドセットから、ユーザからの音声コマンドを受信することとを含む。音声コマンドは、複数の環境のうちの第1の環境における複数の音声支援システムのうちの第1の音声支援システムの識別子を欠いている。この方法はまた、音声コマンドに基づいて、音声コマンドを実行するための複数の音声支援システムのサブセットを予測することと、複数の音声支援システムのサブセットが設置された複数の環境のうちの環境の画像をヘッドセットに伝達することとを含む。この方法はさらに、ユーザが、画像の中から、第1の音声支援システムを含む第1の環境の画像を選択したことを検出することと、ユーザが第1の環境の画像を選択したことを検出したことに応答して、音声コマンドを第1の音声支援システムに伝達することとを含む。他の実施形態は、この方法を実行するための装置を含む。
【0003】
他の実施形態によれば、方法は、複数の環境のうちの第1の環境における複数の音声支援システムのうちの第1の音声支援システムの識別子を欠いている音声コマンドをユーザから受け取ることと、音声コマンドをコマンド・サーバに伝達することと、を含む。この方法はまた、コマンド・サーバから、複数の音声支援システムが設置された複数の環境のうちの環境の画像を受信することと、ユーザに画像を提示することとを含む。この方法はさらに、ユーザが、提示された画像の中から、第1の音声支援システムを含む第1の環境の画像を選択したことを検出することと、第1の音声支援システムが音声コマンドを実行するように、ユーザが画像を選択したことをコマンド・サーバに示すこととを含む。他の実施形態は、この方法を実行するための装置を含む。
【図面の簡単な説明】
【0004】
【
図2】
図1のシステムにおける例示的な方法のフローチャートである。
【
図3】
図1のシステムにおける例示的な方法のフローチャートである。
【
図4】
図1のシステムにおける例示的な方法のフローチャートである。
【
図5】
図1のシステムにおける例示的な方法のフローチャートである。
【
図6】
図1のシステムにおける例示的な方法のフローチャートである。
【
図7】
図1のシステムにおける例示的な方法のフローチャートである。
【発明を実施するための形態】
【0005】
音声支援システムは、ユーザによって発行された音声コマンドを実行する。音声支援システムは非常に普及しており、多くの環境および空間には複数の音声支援システムが含まれ得る。たとえば、ユーザの家には、異なるサービスと連携し、異なる機能を実行する異なる音声支援システムが含まれ得る。他の例として、オフィス・ビルには、様々な従業員によって所有される多くの異なる音声支援システムが含まれ得る。これらの環境でユーザが音声コマンドを発行するときに、ユーザが話しかけている音声支援システムをユーザが音声で識別しないと、次の2つの望ましくない結果が生じ得る。すなわち、(1)どの音声支援システムもコマンドを実行しない場合があること、または(2)複数の音声支援システムがコマンドを実行し得ることである。
【0006】
本開示は、ユーザが音声支援システムを音声で識別(たとえば、「Hey,X」と言い、ここでXは音声支援システムの名前である)しなくても、ユーザが音声コマンドを発行している音声支援システムを特定することができるシステムについて説明する。システムは、ユーザが音声コマンドを向けている可能性がある音声支援システムのサブセットを予測することができる。次いで、システムは、ユーザのヘッドセット(たとえば、拡張現実メガネ、拡張現実ヘッドセット、または仮想現実ヘッドセット)に、予測された音声支援システムが設置された異なる環境の画像を提示する。次いで、ユーザはこれらの画像のうちの1つを選択し得(たとえば、画像を見ることによって、または画像によって表された場所の名前を言うことによって)、システムは選択された場所の音声支援システムに音声コマンドを伝達する。次いで、音声支援システムは音声コマンドを実行する。このようにして、システムは、ユーザが音声支援システムを音声で識別することなく、所望の音声支援システムに音声コマンドを発行することを可能にする。
【0007】
図1は、例示的なシステム100を示している。
図1に見られるように、システム100は、空間101、ネットワーク110、およびコマンド・サーバ112を含む。一般に、空間101内のユーザ102は、空間101内のいくつかの音声アシスタントのうちの1つに対して、その音声アシスタントを識別することなくコマンドを発行し得る。デバイス(たとえば、ユーザ102の拡張現実ヘッドセットまたは仮想現実ヘッドセット)は、コマンドを検出し、コマンドをコマンド・サーバ112に伝達する。次いで、コマンド・サーバ112は、コマンドの発行され得る空間101内のいくつかの音声アシスタントを予測する。次いで、コマンド・サーバ112は、ユーザ102がデバイスを使用して、コマンドの向けられた環境または音声アシスタントを選択できるようにする。ユーザ102が環境または音声アシスタントを選択した後、コマンド・サーバ112は、コマンドを実行するように、選択された音声アシスタントまたは選択された環境内の音声アシスタントにコマンドを伝達する。このようにして、コマンド・サーバ112は、ユーザ102がコマンドを発行するときに音声アシスタントを識別しなくても、コマンドを適切な音声アシスタントに伝達し得る。
【0008】
空間101は、複数の音声アシスタント106を含む任意の適切な空間であり得る。たとえば、空間101は、家またはオフィス・ビルであり得る。音声アシスタント106は、空間101内の異なる環境に配置され得る。たとえば、音声アシスタント106は、家の異なる部屋に配置され得る。他の例として、音声アシスタント106は、オフィス・ビルの異なるオフィスに配置され得る。音声アシスタント106は、異なる名前を使用して識別され得る。ユーザ102が音声コマンドを発行するときに、ユーザ102はまず、「Hey,X」と言うことで、ユーザ102が音声コマンドを向けることを意図する音声アシスタント106を識別し得、ここで、Xは音声アシスタント106の名前である。しかしながら、ユーザ102が音声コマンドを発行するときに音声アシスタント106を識別しない場合、音声アシスタント106はコマンドを実行しない場合がある。その結果、ユーザ102が音声アシスタント106の名前を思い出すのが難しい場合、ユーザ102は音声アシスタント106に音声コマンドを発行することができない場合がある。システム100は、ユーザ102がコマンドを発行するときに音声アシスタント106を識別しなくても、ユーザ102のヘッドセット104およびコマンド・サーバ112を使用して音声アシスタント106を識別する。このようにして、システム100により、ユーザ102が特定の音声アシスタント106を識別することなくそれらの音声アシスタント106にコマンドを発行することが可能になる。
【0009】
ヘッドセット104は、拡張現実または仮想現実を使用してユーザ102に画像を提示し得る。たとえば、ヘッドセット104は、ユーザ102の視野に画像をオーバーレイする拡張現実メガネまたは拡張現実ヘッドセットであり得る。他の例として、ヘッドセット104は、ユーザ102に画像を提示する仮想現実ヘッドセットであり得る。ユーザ102は、ヘッドセット104を装着して、ヘッドセット104によってオーバーレイまたは提示された画像を見得る。
図1に見られるように、ヘッドセット104はプロセッサ118およびメモリ120を含み、これらは本明細書に記載のヘッドセット104の動作または機能を実行するように構成される。
【0010】
プロセッサ118は、メモリ120と通信可能に結合し、ヘッドセット104の動作を制御する、マイクロプロセッサ、マイクロコントローラ、特定用途向け集積回路(ASIC)、特定用途向け命令セット・プロセッサ(ASIP)、もしくはステートマシン、またはそれらの組み合わせのうちの1つまたは組み合わせを含むがこれらに限定されない任意の電子回路である。プロセッサ118は、8ビット、16ビット、32ビット、64ビット、または他の任意の適切なアーキテクチャのものであり得る。プロセッサ118は、算術論理演算を実行するための算術論理演算ユニット(ALU)と、ALUにオペランドを供給し、ALU演算の結果を記憶するプロセッサ・レジスタと、メモリから命令をフェッチし、ALU、レジスタ、および他のコンポーネントの協調動作を指揮することによってそれらを実行する制御ユニットとを含み得る。プロセッサ118は、ソフトウェアを動作させて情報を制御および処理する他のハードウェアを含み得る。プロセッサ118は、メモリ120に記憶されたソフトウェアを実行して、本明細書に記載の機能のうちの任意のものを実行する。プロセッサ118は、情報(たとえば、コマンド・サーバ112、ネットワーク110、およびメモリ120から受信した情報)を処理することによって、ヘッドセット104の動作および管理を制御する。プロセッサ118は、単一の処理デバイスに限定されず、複数の処理デバイスを包含し得る。
【0011】
メモリ120は、プロセッサ118のためのデータ、動作ソフトウェア、または他の情報を永続的または一時的に記憶し得る。メモリ120は、情報を記憶するのに適した揮発性または不揮発性のローカルまたはリモート・デバイスのうちのいずれか1つまたはそれらの組み合わせを含み得る。たとえば、メモリ120は、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、磁気ストレージ・デバイス、光学ストレージ・デバイス、もしくは他の任意の適切な情報ストレージ・デバイス、またはこれらのデバイスの組み合わせを含み得る。ソフトウェアは、コンピュータ可読記憶媒体に具現化された任意の適切な命令のセット、ロジック、またはコードを表す。たとえば、ソフトウェアは、メモリ120、ディスク、CD、またはフラッシュ・ドライブに具現化され得る。特定の実施形態では、ソフトウェアは、本明細書に記載の機能のうちの1つまたは複数を実行するためにプロセッサ118によって実行可能なアプリケーションを含み得る。
【0012】
複数の音声アシスタント106が空間101内に設置される。音声アシスタント106は、空間101内の異なる環境に設置され得る。たとえば、音声アシスタント106は、空間101の異なる部屋またはオフィスに設置され得る。
図1の例では、空間101は音声アシスタント106A、106B、および106Cを含む。これらの音声アシスタント106のそれぞれは、空間101内の異なる環境に設置され得る。たとえば、空間101が家である場合、音声アシスタント106Aはキッチンに設置され得、音声アシスタント106Bはリビング・ルームに設置され得、音声アシスタント106Cは寝室に設置され得る。これらの音声アシスタント106のそれぞれは、異なる名前を使用して識別され得る。コマンドがこれらの音声アシスタント106のうちの1つに発行されると、音声アシスタント106はそのコマンドを実行する。たとえば、音声アシスタント106は、それぞれの空間内の機器および照明をオンまたはオフにし得る。他の例として、音声アシスタント106は、音楽を再生し、またはメッセージを読み上げ得る。
図1に見られるように、各音声アシスタント106は、プロセッサ114およびメモリ116を含む。音声アシスタント106Aは、プロセッサ114Aおよびメモリ116Aを含む。音声アシスタント106Bは、プロセッサ114Bおよびメモリ116Bを含む。音声アシスタント106Cは、プロセッサ114Cおよびメモリ116Cを含む。プロセッサ114およびメモリ116は、本明細書に記載の音声アシスタント106の機能または動作のうちの任意のものを実行するように構成され得る。
【0013】
プロセッサ114は、メモリ116と通信可能に結合し、ヘッドセット104の動作を制御する、マイクロプロセッサ、マイクロコントローラ、特定用途向け集積回路(ASIC)、特定用途向け命令セット・プロセッサ(ASIP)、もしくはステートマシン、またはそれらの組み合わせのうちの1つまたは組み合わせを含むがこれらに限定されない任意の電子回路である。プロセッサ114は、8ビット、16ビット、32ビット、64ビット、または他の任意の適切なアーキテクチャのものであり得る。プロセッサ114は、算術論理演算を実行するための算術論理演算ユニット(ALU)と、ALUにオペランドを供給し、ALU演算の結果を記憶するプロセッサ・レジスタと、メモリから命令をフェッチし、ALU、レジスタ、および他のコンポーネントの協調動作を指揮することによってそれらを実行する制御ユニットとを含み得る。プロセッサ114は、ソフトウェアを動作させて情報を制御および処理する他のハードウェアを含み得る。プロセッサ114は、メモリ116に記憶されたソフトウェアを実行して、本明細書に記載の機能のうちの任意のものを実行する。プロセッサ114は、情報(たとえば、コマンド・サーバ112、ネットワーク110、およびメモリ116から受信した情報)を処理することによって、ヘッドセット104の動作および管理を制御する。プロセッサ114は、単一の処理デバイスに限定されず、複数の処理デバイスを包含し得る。
【0014】
メモリ116は、プロセッサ114のためのデータ、動作ソフトウェア、または他の情報を永続的または一時的に記憶し得る。メモリ116は、情報を記憶するのに適した揮発性または不揮発性のローカルまたはリモート・デバイスのうちのいずれか1つまたはそれらの組み合わせを含み得る。たとえば、メモリ116は、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、磁気ストレージ・デバイス、光学ストレージ・デバイス、もしくは他の任意の適切な情報ストレージ・デバイス、またはこれらのデバイスの組み合わせを含み得る。ソフトウェアは、コンピュータ可読記憶媒体に具現化された任意の適切な命令のセット、ロジック、またはコードを表す。たとえば、ソフトウェアは、メモリ116、ディスク、CD、またはフラッシュ・ドライブに具現化され得る。特定の実施形態では、ソフトウェアは、本明細書に記載の機能のうちの1つまたは複数を実行するためにプロセッサ114によって実行可能なアプリケーションを含み得る。
【0015】
ネットワーク110は、システム100のコンポーネント間の通信を容易にするように動作可能な任意の適切なネットワークである。ネットワーク110は、オーディオ、ビデオ、信号、データ、メッセージ、またはそれらの任意の組み合わせを伝送することが可能な任意の相互接続システムを含み得る。ネットワーク110は、公衆交換電話網(PSTN)、パブリックまたはプライベート・データ・ネットワーク、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、ローカルの、地域的な、またはグローバルな通信またはコンピュータ・ネットワーク、たとえば、インターネット、有線または無線ネットワーク、企業イントラネット、またはそれらの組み合わせを含む、コンポーネント間の通信を容易にするように動作可能な他の任意の適切な通信リンクのうちの全てまたは一部分を含み得る。
【0016】
コマンド・サーバ112は、ユーザ102によって発行されたコマンドに対して、意図された音声アシスタント106を特定する。次いで、コマンド・サーバ112は、音声アシスタント106がコマンドを実行することができるように、意図された音声アシスタント106にコマンドを伝達する。このようにして、コマンド・サーバ112は、特定の実施形態において、ユーザ102がコマンドを発行するときに音声アシスタント106を識別しなくても、ユーザ102によって発行されたコマンドを音声アシスタント106が実行することを可能にする。
図1に見られるように、コマンド・サーバ112はプロセッサ122およびメモリ124を含み、これらは本明細書に記載のコマンド・サーバ112の機能または動作のうちの任意のものを実行するように構成される。
【0017】
プロセッサ122は、メモリ124と通信可能に結合し、コマンド・サーバ112の動作を制御する、マイクロプロセッサ、マイクロコントローラ、特定用途向け集積回路(ASIC)、特定用途向け命令セット・プロセッサ(ASIP)、もしくはステートマシン、またはそれらの組み合わせのうちの1つまたは組み合わせを含むがこれらに限定されない任意の電子回路である。プロセッサ122は、8ビット、16ビット、32ビット、64ビット、または他の任意の適切なアーキテクチャのものであり得る。プロセッサ122は、算術論理演算を実行するための算術論理演算ユニット(ALU)と、ALUにオペランドを供給し、ALU演算の結果を記憶するプロセッサ・レジスタと、メモリから命令をフェッチし、ALU、レジスタ、および他のコンポーネントの協調動作を指揮することによってそれらを実行する制御ユニットとを含み得る。プロセッサ122は、ソフトウェアを動作させて情報を制御および処理する他のハードウェアを含み得る。プロセッサ122は、メモリ124に記憶されたソフトウェアを実行して、本明細書に記載の機能のうちの任意のものを実行する。プロセッサ122は、情報(たとえば、ヘッドセット104、ネットワーク110、およびメモリ124から受信した情報)を処理することによって、コマンド・サーバ112の動作および管理を制御する。プロセッサ122は、単一の処理デバイスに限定されず、複数の処理デバイスを包含し得る。
【0018】
メモリ124は、プロセッサ122のためのデータ、動作ソフトウェア、または他の情報を永続的または一時的に記憶し得る。メモリ124は、情報を記憶するのに適した揮発性または不揮発性のローカルまたはリモート・デバイスのうちのいずれか1つまたはそれらの組み合わせを含み得る。たとえば、メモリ124は、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、磁気ストレージ・デバイス、光学ストレージ・デバイス、もしくは他の任意の適切な情報ストレージ・デバイス、またはこれらのデバイスの組み合わせを含み得る。ソフトウェアは、コンピュータ可読記憶媒体に具現化された任意の適切な命令のセット、ロジック、またはコードを表す。たとえば、ソフトウェアは、メモリ124、ディスク、CD、またはフラッシュ・ドライブに具現化され得る。特定の実施形態では、ソフトウェアは、本明細書に記載の機能のうちの1つまたは複数を実行するためにプロセッサ122によって実行可能なアプリケーションを含み得る。
【0019】
コマンド・サーバ112は、ユーザ102によって発行されたコマンド126を受信する。ユーザ102はコマンド126を発話していた場合がある。特定の実施形態では、ヘッドセット104は、ユーザ102がコマンド126を発話したことを検出し、コマンド126をコマンド・サーバ112に伝達し得る。ユーザ102は、コマンド126を発行するときに音声アシスタント106を識別していない場合がある。コマンド・サーバ112は、コマンド126および他の任意の数の要因を分析して、ユーザ102がコマンド126を向けることを意図した空間101内の音声アシスタント106を予測し得る。コマンド・サーバ112は、コマンド126内の単語を分析して音声アシスタント106を予測し得る。たとえば、コマンド126が、空間101内の特定の音声アシスタント106によってのみ実行することができる機能を識別する場合、コマンド・サーバ112は、それらの音声アシスタント106がコマンド126の受信者候補であると予測し得る。他の例として、コマンド126が空間101の特定の環境内の特定の機能またはデバイスを識別する場合、コマンド・サーバ112は、それらの空間内の音声アシスタント106がコマンド126の受信者候補であると予測し得る。加えて、または代わりに、コマンド・サーバ112は、ヘッドセット104の位置を使用して、ユーザ102の地理的位置を特定し得る。その特定された位置に基づいて、コマンド・サーバ112は、コマンド126の意図された受信者である音声アシスタント106のセットを予測し得る。たとえば、ヘッドセット104は、ヘッドセット104またはユーザ102の全地球測位座標をコマンド・サーバ112に伝達し得る。コマンド・サーバ112は、それらの座標を使用して、ユーザ102に最も近い音声アシスタント106を特定し得る。コマンド・サーバ112は、これらの音声アシスタント106がコマンド126の受信者候補であると予測し得る。
【0020】
コマンド・サーバ112が、コマンド126の意図された受信者であり得る音声アシスタント106を予測した後、コマンド・サーバ112は、画像128をユーザ102のヘッドセット104に伝達する。画像128は、予測された音声アシスタント106、または予測された音声アシスタント106が設置された環境の画像であり得る。たとえば、コマンド・サーバ112が、音声アシスタント106Aおよび106Bがコマンド126の意図された受信者であり得ると予測した場合、コマンド・サーバ112は、音声アシスタント106Aおよび106Bが設置された部屋の画像をユーザ102のヘッドセット104に伝達し得る。次いで、ヘッドセット104は、画像128をユーザ102に提示する。ヘッドセット104が拡張現実ヘッドセットまたは拡張現実メガネである場合、ヘッドセット104は、ユーザ102の視野に画像128をオーバーレイする。一例として、音声アシスタント106Aがキッチンに設置され、音声アシスタント106Bがリビング・ルームに設置されている場合、コマンド・サーバ112は、キッチンおよびリビング・ルームの画像をヘッドセット104に伝達し得る。次いで、ヘッドセット104は、キッチンおよびリビング・ルームの画像をユーザ102に提示する。
【0021】
次いで、ユーザ102は、提示された画像128のうちの1つの選択を示す。たとえば、ユーザ102は画像128のうちの1つを見得る。他の例として、ユーザ102は、画像128のうちの1つに示された空間の名前を言い得る。ヘッドセット104は、ユーザ102が選択した画像128を特定し、次いで、選択された画像の通知をコマンド・サーバ112に伝達し得る。いくつかの実施形態では、選択された画像をコマンド・サーバ112に伝達するのではなく、ヘッドセット104はユーザ102の目の方向130を特定する。ユーザ102は、視線追跡ソフトウェアまたはハードウェアを使用して、ユーザ102の目の方向130を特定し得る。次いで、ヘッドセット104は、ユーザ102の目の方向130をコマンド・サーバ112に伝達する。コマンド・サーバ112は、方向130を分析して、ユーザ102が見ている画像128を特定する。次いで、コマンド・サーバ112は、その画像128がユーザ102によって選択された画像128であると決定する。いくつかの実施形態では、ユーザ102は画像128の選択を発話する。たとえば、ユーザ102は、画像128に示された部屋の名前を言い得る。ヘッドセット104は、ユーザ102の音声132を検出する。次いで、ヘッドセット104は、音声132をコマンド・サーバ112に伝達する。コマンド・サーバ112は、音声132を分析して、ユーザ102によって選択された画像128を特定する。たとえば、コマンド・サーバ112は、音声132によって言われた部屋の名前を特定し得る。次いで、コマンド・サーバ112は、音声132によって識別された部屋の画像128を識別する。次いで、コマンド・サーバ112は、その画像128がユーザ102によって選択されたと決定する。
【0022】
ユーザ102によって選択された画像128を特定した後、コマンド・サーバ112は、選択された画像128に示された環境に設置された音声アシスタント106を特定する。次いで、コマンド・サーバ112は、コマンド126をその音声アシスタント106に伝達する。次いで、音声アシスタント106は、コマンド126を実行する。このようにして、ユーザ102がコマンド126を発行するときに音声アシスタント106を識別しなかったとしても、コマンド・サーバ112は、コマンド126を実行する音声アシスタント106を識別する。
【0023】
特定のコマンド126はターゲットを含み得る。たとえば、ユーザ102は、電気を消すコマンド126を発行し得る。そのコマンド126では、ターゲットは空間101の環境内の特定の照明である。他の例として、ユーザ102は、植物に水をやるコマンドを発行し得る。そのコマンド126では、ターゲットは植物である。コマンド・サーバ112は、空間101からの情報を分析して、コマンド126のターゲット136を特定し得る。いくつかの実施形態では、コマンド・サーバ112は、空間101内に配置された1つまたは複数のマイクロフォン108からの情報を分析して、ターゲット136を特定する。マイクロフォン108は、ユーザ102の音声の音量134を特定することができる指向性マイクロフォンであり得る。空間101内のマイクロフォン108によって検出された音量134を使用して、コマンド・サーバ112はコマンド126のターゲット136を識別する。
図1の例を使用すると、空間101は、空間101内の異なる位置に配置されたマイクロフォン108A、108B、および108Cを含む。ユーザ102は、マイクロフォン108Bおよび108Cよりもマイクロフォン108Aの近くであり得る。ユーザ102がコマンド126を発話すると、マイクロフォン108Aは、マイクロフォン108Bおよび108Cの検出された音量よりも大きい音量134を検出し得る。コマンド・サーバ112は、異なるマイクロフォン108A、108B、および108Cによって検出された音量134を比較して、ユーザ102の音声の方向性を特定する。コマンド・サーバ112は、その方向性を利用してコマンド126のターゲット136を特定する。たとえば、コマンド・サーバ112は、音量134に基づいて、ユーザ102が「電気を消して」というコマンド126を発話するときに、コマンド126またはユーザ102の音声を特定の照明に向けていると決定し得る。これに応答して、コマンド・サーバ112は、コマンド126のターゲット136が、ユーザ102が音声を向けている照明であると決定する。
【0024】
いくつかの実施形態では、コマンド・サーバ112は、ユーザ102の目の方向に基づいてコマンド126のターゲット136を特定する。ヘッドセット104は、視線追跡ソフトウェアおよびハードウェアを使用して、ユーザ102の目の方向138を特定する。ヘッドセット104は、方向138をコマンド・サーバ112に伝達する。コマンド・サーバ112は、方向138を(他の情報、たとえば、ユーザ102の位置の座標と共に)分析して、コマンド126のターゲット136を特定する。たとえば、ヘッドセット104は、ユーザ102がコマンド126を発行するときに特定の方向を見ていると決定し得る。ヘッドセット104は、その方向138をコマンド・サーバ112に伝達する。コマンド・サーバ112は、ユーザ102の位置を表す座標と共にその方向138を分析して、ユーザ102が見ているオブジェクトを特定する。コマンド・サーバ112は、そのオブジェクトがコマンド126のターゲット136であると決定し得る。たとえば、コマンド・サーバ112は、方向138に基づいて、ユーザ102が「電気を消して」というコマンド126を発行するときに特定の照明を見ていると決定し得る。他の例として、コマンド・サーバ112は、方向138に基づいて、ユーザ102が「植物に水をやって」というコマンド126を発行するときに特定の植物を見ていると決定し得る。
【0025】
いくつかの実施形態では、コマンド・サーバ112は、画像140をユーザ102のヘッドセット104に伝達する。ユーザ102は、その画像140に対応するインタラクションを実行し得る。ヘッドセット104は、そのインタラクションを検出し、インタラクション142をコマンド・サーバ112に伝達する。コマンド・サーバ112は、ユーザ102によって実行されたインタラクション142に基づいてコマンド126のターゲット136を特定し得る。たとえば、ユーザ102が「植物に水をやって」というコマンド126を発行した場合、コマンド・サーバ112はじょうろの画像140をヘッドセット104に伝達し得る。次いで、ヘッドセット104は、ユーザ102の視野にじょうろの画像をオーバーレイする。次いで、ユーザ102は、頭を動かして、じょうろの画像140を特定の植物上に配置し得る。ヘッドセット104は、この動きと、特定の植物上のじょうろの位置とを検出し、この情報をインタラクション142としてコマンド・サーバ112に伝達し得る。次いで、コマンド・サーバ112は、インタラクション142を分析して、植物がコマンド126のターゲット136であると決定し得る。
【0026】
コマンド・サーバ112がコマンド126のターゲット136を特定した後、コマンド・サーバ112は、コマンド126の意図された受信者として特定された音声アシスタント106にターゲット136を伝達する。次いで、音声アシスタント106は、ターゲット136に対してコマンド126を実行し得る。たとえば、ユーザ102が「電気を消して」というコマンド126を発行した場合、音声アシスタント106は、コマンド126のターゲット136であると決定された特定の照明を消し得る。他の例として、ユーザ102が「植物に水をやって」というコマンド126を発行した場合、音声アシスタント106は、コマンド126のターゲット136であると決定された植物に水をやる。
【0027】
いくつかの実施形態では、コマンド126は、音声アシスタント106とは異なる意図された受信者144を有する。たとえば、ユーザ102は、家族の一員または世話人に対して意図されたコマンド126を発行し得る。コマンド・サーバ112は、コマンド126を分析して、意図された受信者144を特定する。たとえば、ユーザ102は、コマンド126を発行するときに、意図された受信者144の名前または役割を言い得る。コマンド・サーバ112は、名前または役割を使用して受信者144を特定する。次いで、コマンド・サーバ112は、コマンド126および意図された受信者144を記録する。その後、音声アシスタント106またはヘッドセット104が受信者144の存在146を検出すると、音声アシスタント106またはヘッドセット104はコマンド・サーバ112に警告し得る。たとえば、音声アシスタント106は、受信者144の音声を検出することによって、またはセキュリティ・カメラによって撮影された受信者144の画像を検出することによって、受信者144の存在146を検出し得る。次いで、音声アシスタント106は、受信者144の存在146の通知をコマンド・サーバ112に伝達する。次いで、コマンド・サーバ112は、受信者144に対して意図されたコマンド126を取り出し、コマンド126を音声アシスタント106またはヘッドセット104に伝達する。次いで、音声アシスタント106およびヘッドセット104は、受信者144に向けてコマンド126を再生する。このようにして、ユーザ102およびコマンド・サーバ112は、受信者144に対するコマンド126を提示し、次いで、受信者144が存在するときにそれらのコマンド126を発行し得る。
【0028】
図2は、
図1のシステム100における例示的な方法200のフローチャートである。コマンド・サーバ112は、方法200を実行し得る。特定の実施形態では、方法200を実行することによって、ユーザ102がコマンド126を発行するときに音声アシスタント106を識別しなくても、コマンド・サーバ112は音声アシスタント106をコマンド126の意図された受信者として識別する。
【0029】
ブロック202において、コマンド・サーバ112は、空間101の異なる環境における音声アシスタント106を特定する。たとえば、空間101が家である場合、音声アシスタント106は家の異なる部屋に配置され得る。他の例として、空間101が複合オフィスである場合、音声アシスタント106は複合オフィスの異なるオフィスに配置され得る。コマンド・サーバ112は、ユーザ入力を通じて、これらの音声アシスタント106の識別情報(identity)と、空間101内のそれぞれの位置とを特定し得る。たとえば、ユーザ102が各音声アシスタント106をセットアップまたはインストールしているときに、音声アシスタント106を識別し、音声アシスタント106の位置を示すためのメッセージをコマンド・サーバ112に伝達し得る。コマンド・サーバ112は、空間101内の音声アシスタント106の識別情報および位置を追跡する。
【0030】
次いで、コマンド・サーバ112は、ブロック204においてユーザのヘッドセット104からコマンド126を受信する。ユーザ102はコマンド126を発話していた場合がある。ヘッドセット104は、ユーザ102がコマンド126を発話したことを検出していた場合がある。次いで、ヘッドセット104は、コマンド126をコマンド・サーバ112に伝達する。ユーザ102は、ユーザ102がコマンド126を発行することを意図した音声アシスタント106を識別していない場合がある。たとえば、ユーザ102は、「電気を消して」コマンドまたは「植物に水をやって」というコマンドを発行し得るが、ユーザ102がコマンド126を実行することを意図した音声アシスタント106を識別していない場合がある。
【0031】
ブロック206において、コマンド・サーバ112は、コマンド126の意図された受信者であり得る空間101内の音声アシスタント106のサブセットを予測する。コマンド・サーバ112は、異なる情報を使用して音声アシスタント106のサブセットを予測し得る。たとえば、コマンド・サーバ112は、コマンド126の単語を分析して、コマンド126によって要求された特定の機能を識別し得る。次いで、コマンド・サーバ112は、要求された機能を実行することが可能な音声アシスタント106のサブセットを識別する。他の例として、コマンド・サーバ112は、コマンド126の単語を分析して、コマンド126内で識別された特定のオブジェクトまたはデバイスを特定し得る。次いで、コマンド・サーバ112は、それらのオブジェクトもしくはデバイスに関連する、またはそれらの近くに配置された音声アシスタント106のサブセットを予測する。さらに他の例として、コマンド・サーバ112は、ユーザ102がコマンド126を発行したときのユーザ102の位置(たとえば、ユーザ102の位置を表す座標)を特定し得る。次いで、コマンド・サーバ112は、ユーザ102の位置に最も近い音声アシスタント106のサブセットを予測する。
【0032】
ブロック208において、コマンド・サーバ112は、音声アシスタント106のサブセットが設置された環境の画像128をユーザ102のヘッドセット104に伝達する。次いで、ヘッドセット104は、画像128をユーザ102に提示する。たとえば、ヘッドセット104は、ユーザ102の視野に画像128をオーバーレイし得る。ブロック210において、コマンド・サーバ112は、ユーザ102が環境の画像128を選択したことを検出する。特定の実施形態では、コマンド・サーバ112は、ヘッドセット104によって検出されたユーザ102の目の方向130に基づいて、ユーザが画像128を選択したと決定する。コマンド・サーバ112は、ユーザ102の見ている方向130を分析して、ユーザ102がユーザ102に提示されている画像128を見ていると決定する。次いで、コマンド・サーバ112は、その画像128がユーザ102の選択している画像であると決定する。いくつかの実施形態では、コマンド・サーバ112は、ヘッドセット104によって検出された音声132に基づいて、ユーザ102によって選択された画像128を特定する。たとえば、ユーザ102は、ヘッドセット104上に提示され、示された画像128内の環境の名前を言い得る。ヘッドセット104は、ユーザ102の音声132をコマンド・サーバ112に伝達する。コマンド・サーバ112は、音声132を分析して、ユーザ102によって言われた環境を特定する。次いで、コマンド・サーバ112は、その環境を示す画像128を、ユーザ102によって選択された画像128として識別する。
【0033】
ブロック212において、コマンド・サーバ112は、選択された画像128に示された環境内の音声アシスタント106にコマンド126を伝達する。次いで、音声アシスタント106はコマンド126を受信し、コマンド126を実行する。このようにして、コマンド・サーバ112は、ユーザ102がコマンド126を発行するときに音声アシスタント106を識別しなかったとしても、ユーザ102がコマンド126を発行することを意図した音声アシスタント106を識別する。
【0034】
図3は、
図1のシステム100における例示的な方法300のフローチャートである。コマンド・サーバ112は方法300を実行する。特定の実施形態では、方法300を実行することによって、コマンド・サーバ112は、ユーザ102の音声の方向に基づいてコマンド126のターゲット136を識別する。
【0035】
ブロック302において、コマンド・サーバ112は、コマンド126の方向を特定する。特定の実施形態では、コマンド・サーバ112は、空間101内に配置された1つまたは複数のマイクロフォン108によって伝達された音量134に基づいて、コマンド126の方向を特定する。マイクロフォン108は、指向性マイクロフォン108であり得る。ユーザ102がコマンド126を発行すると、マイクロフォン108はユーザ102の音声を特定する。マイクロフォン108は、ユーザ102の音声の検出された音量134をコマンド・サーバ112に伝達する。ユーザ102に近いマイクロフォン108は、ユーザ102から遠いマイクロフォン108よりも大きい音量134を検出し得る。コマンド・サーバ112は、検出された音量134を分析して、コマンド126を発行したときのユーザ102の音声の方向性を特定する。
【0036】
ブロック304において、コマンド・サーバ112は、ユーザ102の音声の方向性に基づいてコマンド126のターゲット136を特定する。たとえば、コマンド・サーバ112は、ユーザ102が「電気を消して」というコマンドを発行するときに特定の照明に音声を向けていると決定し得る。他の例として、コマンド・サーバ112は、ユーザ102が「植物に水をやって」というコマンドを発行するときに特定の植物に音声を向けていると決定し得る。ブロック306において、コマンド・サーバ112は、ユーザ102がコマンド126を発行することを意図した音声アシスタント106にターゲット136を伝達する。次いで、音声アシスタント106は、ターゲット136に対してコマンド126を実行する。
【0037】
図4は、
図1のシステム100における例示的な方法400のフローチャートである。コマンド・サーバ112は、方法400を実行する。特定の実施形態では、方法400を実行することによって、コマンド・サーバ112は、ユーザ102の目の方向に基づいてコマンド126のターゲット136を特定する。
【0038】
ブロック402において、コマンド・サーバ112は、ユーザ102の目の方向を特定する。コマンド・サーバ112は、ユーザ102によって装着されたヘッドセット104からの情報に基づいて目の方向を特定し得る。ヘッドセット104は、視線追跡ソフトウェアおよびハードウェアを使用して、ユーザ102の目の動きを追跡し得る。次いで、ヘッドセット104は、ユーザ102の目の方向138をコマンド・サーバ112に伝達する。
【0039】
ブロック404において、コマンド・サーバ112は、ユーザ102の目の方向138に基づいてコマンド126のターゲット136を特定する。たとえば、コマンド・サーバ112は、ユーザ102の目の方向138に基づいて、ユーザ102がコマンド126を発行するときに特定のオブジェクトを見ていると決定し得る。次いで、コマンド・サーバ112は、そのオブジェクトがコマンド126のターゲット136であると決定する。一例として、コマンド・サーバ112は、ユーザ102が「電気を消して」というコマンドを発行したときに特定の照明を見ていたと決定し得る。他の例として、コマンド・サーバ112は、ユーザ102が「植物に水をやって」というコマンドを発行したときに特定の植物を見ていたと決定し得る。いくつかの実施形態では、コマンド・サーバ112は、ターゲット136を特定するために、ユーザ102の目の方向138と組み合わせて他の情報を使用し得る。たとえば、コマンド・サーバ112は、ユーザ102の目の方向138と、ユーザ102の地理的位置を表す座標とに基づいて、ターゲット136を特定し得る。
【0040】
ブロック406において、コマンド・サーバ112は、ユーザ102がコマンド126を発行することを意図した音声アシスタント106にターゲット136を伝達する。次いで、音声アシスタント106は、ターゲット136に対してコマンド126を実行する。
【0041】
図5は、
図1のシステム100における例示的な方法500のフローチャートである。コマンド・サーバ112は、方法500を実行する。特定の実施形態では、方法500を実行することによって、コマンド・サーバ112は、コマンド126のターゲット136を特定する。
【0042】
ブロック502において、コマンド・サーバ112は、画像140をユーザ102のヘッドセット104に伝達する。画像140は、ユーザ102によって発行されたコマンド126に基づいて生成され得る。たとえば、ユーザ102が「電気を消して」というコマンドを発行した場合、画像140は照明スイッチの画像であり得る。他の例として、ユーザ102が「植物に水をやって」というコマンド126を発行した場合、画像140はじょうろの画像であり得る。ヘッドセット104は、画像140をユーザ102に提示する。たとえば、ヘッドセット104は、ユーザ102の視野に画像140をオーバーレイし得る。
【0043】
ブロック504において、コマンド・サーバ112は、画像140とのインタラクション142を特定する。ユーザ102は、画像140を使用してインタラクション142を実行していた場合がある。たとえば、画像140が照明スイッチのものである場合、ユーザ102は、照明スイッチを特定の照明上に配置するために特定の方向を見ているときに、指を使用して照明スイッチを反転させていた場合がある。他の例として、ユーザ102は、じょうろの画像140を特定の植物上に配置するために特定の方向を見ていた場合がある。ヘッドセット104は、これらのインタラクション142を検出し、これらのインタラクション142をコマンド・サーバ112に伝達する。
【0044】
ブロック506において、コマンド・サーバ112は、インタラクション142に基づいてコマンド126のターゲット136を特定する。ユーザ102が画像140を特定のオブジェクト上に配置するために特定の方向を見た場合、コマンド・サーバ112は、そのオブジェクトがコマンド126のターゲット136であると決定し得る。たとえば、ユーザ102が、照明スイッチの画像140を特定の照明上に配置するか、またはじょうろの画像140を特定の植物上に配置するために特定の方向に見た場合、コマンド・サーバ112は、その照明またはその植物がコマンド126のターゲット136であると決定し得る。
【0045】
ブロック508において、コマンド・サーバ112は、ユーザ102がコマンド126を発行することを意図した音声アシスタント106にターゲット136を伝達する。次いで、音声アシスタント106は、ターゲット136に対してコマンド126を実行する。
【0046】
図6は、
図1のシステム100における例示的な方法600のフローチャートである。コマンド・サーバ112は、方法600を実行する。特定の実施形態では、方法600を実行することによって、コマンド・サーバ112は、意図された受信者144の検出された存在146に基づいてコマンド126を記憶および提示する。
【0047】
ブロック602において、コマンド・サーバ112は、コマンド126の意図された受信者144を特定する。たとえば、コマンド126は、意図された受信者144を識別し得る。コマンド・サーバ112は、コマンド126の単語を分析して、意図された受信者144を識別する。意図された受信者144は、空間101内の音声アシスタント106とは異なる。たとえば、受信者144は、家族の一員または世話人であり得る。コマンド・サーバ112は、コマンド126および意図された受信者144を後のために記憶する。
【0048】
ブロック604において、コマンド・サーバ112は、意図された受信者144の存在146を決定する。たとえば、音声アシスタント106は、意図された受信者144の音声を検出し得る。他の例として、ヘッドセット104は、意図された受信者144を見るカメラを含み得る。次いで、音声アシスタント106またはヘッドセット104は、意図された受信者144の存在146をコマンド・サーバ112に伝達する。次いで、コマンド・サーバ112は、意図された受信者144の存在146を検出する。
【0049】
ブロック606において、コマンド・サーバ112は、受信者144の存在146を検出したことに応答して、コマンド126を受信者144に伝達する。たとえば、コマンド・サーバ112は、受信者144に最も近い音声アシスタント106にコマンド126を伝達し得る。次いで、音声アシスタント106は、受信者144にコマンド126を発話して、受信者144がコマンド126を実行すべきであることを受信者144に知らせる。このようにして、ユーザ102は、受信者144が後で現れたときの、意図された受信者144に対するコマンド126を記憶することができる。たとえば、ユーザ102は、「ペット用ボウルを補充して」または「ゴミを出して」というコマンド126を記憶することができる。意図された受信者144がユーザ102の家に到着すると、音声アシスタント106はコマンド126を発話して、受信者にコマンド126を実行することを思い出させる。
【0050】
図7は、
図1のシステム100における例示的な方法700のフローチャートである。ヘッドセット104は、方法700を実行する。特定の実施形態では、方法700を実行することによって、ヘッドセット104は、ユーザ102がコマンド126を発行するときに音声アシスタント106を識別しなくても、音声アシスタント106によってコマンド126が実行されることを可能にする。
【0051】
ブロック702において、ヘッドセット104は、ユーザ102によって発話された音声コマンド126を受け取る。ヘッドセット104は、ユーザ102の音声を検出するマイクロフォンを含み得る。ユーザ102が音声コマンド126を発話すると、ヘッドセット104は、ユーザ102が音声コマンド126を発話したことを検出する。ユーザ102は、コマンド126を発行するときに音声アシスタント106を識別していない場合がある。
【0052】
ブロック704において、ヘッドセット104は、音声コマンド126をコマンド・サーバ112に伝達する。次いで、コマンド・サーバ112は、コマンド126を分析して、ユーザ102がコマンド126を発行することを意図していた可能性がある音声アシスタント106のサブセットを予測する。次いで、コマンド・サーバ112は、予測された音声アシスタント106が設置された環境の画像128をヘッドセット104に伝達する。ブロック706において、ヘッドセット104は環境の画像128を受信する。ブロック708において、ヘッドセット104は、画像128をユーザ102に提示する。たとえば、ヘッドセット104は、ユーザ102の視野に画像128をオーバーレイし得る。
【0053】
ブロック710において、ヘッドセット104は、ユーザ102が画像128を選択したことを検出する。たとえば、ヘッドセット104は、視線追跡ソフトウェアまたはハードウェアを使用して、ユーザ102がヘッドセット104上でユーザ102に提示されている特定の画像128を見ていると決定し得る。他の例として、ヘッドセット104は、ユーザ102が画像128のうちの1つに示された環境の名前を言っていることを検出するマイクロフォンを含み得る。ブロック712において、ヘッドセット104は、ユーザ102が画像128を選択したことをコマンド・サーバ112に示す。たとえば、ヘッドセット104は、ユーザ102の目の方向130をコマンド・サーバ112に伝達し得る。コマンド・サーバ112は、方向130に基づいて、ユーザ102が選択した画像を特定する。他の例として、ヘッドセット104は、ユーザ102の音声132をコマンド・サーバ112に伝達し得る。コマンド・サーバ112は、音声132に基づいて、ユーザ102が選択した画像を特定する。
【0054】
本開示は、ユーザ102が音声支援システムを音声で識別(たとえば、「Hey,X」と言い、ここでXは音声支援システムの名前である)しなくても、ユーザ102が音声コマンド126を発行している音声支援システムを特定することができるシステム100について説明する。システム100は、ユーザ102が音声コマンド126を向けている可能性がある音声支援システムのサブセットを予測することができる。次いで、システム100は、ユーザ102のヘッドセット104(たとえば、拡張現実メガネ、拡張現実ヘッドセット、または仮想現実ヘッドセット)に、予測された音声支援システムが設置された異なる環境の画像128を提示する。次いで、ユーザ102は、これらの画像128のうちの1つを選択し得(たとえば、画像128を見ることによって、または画像128によって表された場所の名前を言うことによって)、システム100は、選択された場所の音声支援システムに音声コマンド126を伝達する。次いで、音声支援システムは、音声コマンド126を実行する。このようにして、システム100は、ユーザ102が音声支援システムを音声で識別することなく、所望の音声支援システムに音声コマンド126を発行することを可能にする。
【0055】
本発明の様々な実施形態の説明は、例示の目的で提示しているが、網羅的であることも、開示した実施形態に限定されることも意図したものではない。記載した実施形態の範囲から逸脱することなく、多くの修正および変形が当業者には明らかであろう。本明細書で使用する用語は、実施形態の原理、実際の適用、もしくは市場に見られる技術に対する技術的改善を最もよく説明するために、または当業者が本明細書に開示した実施形態を理解できるようにするために選択した。
【0056】
上記では、本開示で提示する実施形態を参照する。しかしながら、本開示の範囲は、記載した特定の実施形態に限定されない。そうではなく、企図した実施形態を実装および実践するために、異なる実施形態に関係するものであるか否かに関係なく、特徴および要素の任意の組み合わせが考えられる。さらに、本明細書に開示した実施形態は、他の可能な解決策または従来技術に勝る利点を実現し得るが、所与の実施形態によって特定の利点が実現されるか否かは、本開示の範囲を限定するものではない。したがって、本明細書で論じた態様、特徴、実施形態、および利点は、例示的なものにすぎず、請求項(複数可)に明示的に記載している場合を除き、添付の特許請求の範囲の要素または限定とは見なされない。同様に、「本発明」への言及は、本明細書に開示した発明の主題の一般化として解釈されるべきではなく、請求項(複数可)に明示的に記載している場合を除き、添付の特許請求の範囲の要素または限定と見なされるべきではない。
【0057】
本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、またはソフトウェアおよびハードウェアの態様を組み合わせた実施形態の形態をとり得、これらは全て本明細書では一般に、「回路」、「モジュール」または「システム」と呼び得る。
【0058】
本発明は、任意の可能な技術的詳細レベルの統合におけるシステム、方法、もしくはコンピュータ・プログラム製品、またはそれらの組み合わせであり得る。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読記憶媒体(または複数の媒体)を含み得る。
【0059】
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のために命令を保持および記憶可能な有形のデバイスとすることができる。コンピュータ可読記憶媒体は、たとえば、限定はしないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組み合わせであり得る。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、消去可能プログラム可能リード・オンリ・メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リード・オンリ・メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリー・スティック(登録商標)、フレキシブル・ディスク、命令が記録されたパンチ・カードまたは溝の隆起構造などの機械的にコード化されたデバイス、およびこれらの任意の適切な組み合わせが含まれる。コンピュータ可読記憶媒体は、本明細書で使用する場合、たとえば、電波または他の自由に伝搬する電磁波、導波管もしくは他の伝送媒体を伝搬する電磁波(たとえば、光ファイバ・ケーブルを通過する光パルス)、または有線で伝送される電気信号などの一過性の信号自体であると解釈されるべきではない。
【0060】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、または、たとえば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、もしくは無線ネットワーク、またはそれらの組み合わせなどのネットワークを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅線伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジ・サーバ、またはそれらの組み合わせを含み得る。各コンピューティング/処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、コンピュータ可読プログラム命令を転送して、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶する。
【0061】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の構成データ、または、Smalltalk(登録商標)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または類似のプログラミング言語などの手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組み合わせで書かれたソース・コードまたはオブジェクト・コードであり得る。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロン・ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上かつ部分的にリモート・コンピュータ上で、または完全にリモート・コンピュータまたはサーバ上で実行され得る。最後のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続され得、または(たとえば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータへの接続がなされ得る。いくつかの実施形態では、たとえば、プログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用してコンピュータ可読プログラム命令を実行することによって、電子回路を個人向けにし得る。
【0062】
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図もしくはブロック図またはその両方を参照して本明細書で説明している。フローチャート図もしくはブロック図またはその両方の各ブロック、およびフローチャート図もしくはブロック図またはその両方におけるブロックの組み合わせが、コンピュータ可読プログラム命令によって実装できることは理解されよう。
【0063】
これらのコンピュータ可読プログラム命令を、コンピュータまたは他のプログラム可能データ処理装置のプロセッサに提供して、それらの命令がコンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行された場合に、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックにおいて指定された機能/行為を実装するための手段が生成されるようなマシンを生成し得る。また、これらのコンピュータ可読プログラム命令を、コンピュータ、プログラム可能データ処理装置、もしくは他のデバイス、またはそれらの組み合わせに特定の方法で機能するように指示することが可能なコンピュータ可読記憶媒体に記憶して、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックにおいて指定された機能/行為の態様を実装する命令を含む製造品を構成するようにし得る。
【0064】
また、コンピュータ可読プログラム命令をコンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードして、コンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップを実行させることによって、それらの命令がコンピュータ、他のプログラム可能装置、または他のデバイス上で実行された場合に、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックにおいて指定された機能/行為が実装されるようなコンピュータ実装処理を生成し得る。
【0065】
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示している。これに関して、フローチャートまたはブロック図の各ブロックは、指定された論理的機能(複数可)を実装するための1つまたは複数の実行可能命令を含むモジュール、セグメント、または命令の一部を表し得る。いくつかの代替的な実装では、ブロックに記載した機能は、図示した順序以外で行われ得る。たとえば、関与する機能に応じて、連続して示した2つのブロックは、実際には、1つのステップとして実現され得、同時に、実質的に同時に、部分的にまたは完全に時間的に重なるように実行され得、またはそれらのブロックは、場合により逆の順序で実行され得る。ブロック図もしくはフローチャート図またはその両方の各ブロック、およびブロック図もしくはフローチャート図またはその両方におけるブロックの組み合わせは、指定された機能もしくは行為を実行するか、または専用ハードウェアおよびコンピュータ命令の組み合わせを実行する専用のハードウェア・ベースのシステムによって実装できることにも気付くであろう。
【0066】
本発明の実施形態は、クラウド・コンピューティング・インフラストラクチャを介してエンド・ユーザに提供され得る。クラウド・コンピューティングとは、一般に、ネットワークを介したサービスとしてのスケーラブルなコンピューティング・リソースのプロビジョニングを指す。より正式には、クラウド・コンピューティングは、コンピューティング・リソースと、その基盤となる技術アーキテクチャ(たとえば、サーバ、ストレージ、ネットワーク)との間の抽象化を実現して、最小限の管理労力またはサービス・プロバイダとのやりとりによって迅速にプロビジョニングおよび解放することができる設定可能なコンピューティング・リソースの共有プールへの便利なオンデマンドのネットワーク・アクセスを可能にするコンピューティング機能として定義され得る。したがって、クラウド・コンピューティングにより、コンピューティング・リソースを提供するために使用される基盤となる物理システム(またはそれらのシステムの場所)に関係なく、ユーザは、「クラウド」内の仮想コンピューティング・リソース(たとえば、ストレージ、データ、アプリケーション、さらには完全な仮想化コンピューティング・システム)にアクセスすることが可能になる。
【0067】
典型的には、クラウド・コンピューティング・リソースは、従量課金方式でユーザに提供され、ユーザは、実際に使用したコンピューティング・リソース(たとえば、ユーザが消費したストレージ・スペースの量、またはユーザがインスタンス化した仮想化システムの数)の分だけ課金される。ユーザは、いつでも、インターネット上のどこからでも、クラウドに存在する任意のリソースにアクセスすることができる。本発明の状況では、ユーザは、クラウドで利用可能なアプリケーション(たとえば、コマンド・サーバ112)または関係するデータにアクセスし得る。たとえば、コマンド・サーバ112は、コマンド126に関する音声アシスタント106を特定するために、クラウド内のコンピューティング・システム上で実行することができる。そうすることにより、ユーザは、(インターネットなどの)クラウドに接続されたネットワークにつながれた任意のコンピューティング・システムからこの情報にアクセスすることが可能になる。
【0068】
上記は本発明の実施形態を対象とするものであるが、本発明の他の実施形態およびさらなる実施形態は、その基本的な範囲から逸脱することなく考案され得、その範囲は以下の特許請求の範囲によって決まる。
【国際調査報告】