(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-09
(45)【発行日】2024-12-17
(54)【発明の名称】音声コマンドの識別
(51)【国際特許分類】
G10L 15/20 20060101AFI20241210BHJP
G10L 15/10 20060101ALI20241210BHJP
G10L 25/51 20130101ALI20241210BHJP
G06F 3/16 20060101ALI20241210BHJP
【FI】
G10L15/20 370Z
G10L15/10 200W
G10L25/51 400
G06F3/16 630
G06F3/16 520
(21)【出願番号】P 2022501015
(86)(22)【出願日】2020-08-13
(86)【国際出願番号】 IB2020057623
(87)【国際公開番号】W WO2021033088
(87)【国際公開日】2021-02-25
【審査請求日】2023-01-20
(32)【優先日】2019-08-20
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】リー、ユンジン
(72)【発明者】
【氏名】カニントン、ダニエル、トーマス
(72)【発明者】
【氏名】チアレラ、ジアコモ、ジュセッペ
(72)【発明者】
【氏名】ウッド、ジョーン、ジェシー
【審査官】大野 弘
(56)【参考文献】
【文献】米国特許出願公開第2019/0132694(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/20
G10L 15/10
G10L 25/51
G06F 3/16
(57)【特許請求の範囲】
【請求項1】
コンピューティング・デバイスが実行する、音声コマンドをフィルタリングするためのコンピュータ実装方法であって、前記方法が:
ある位置に配置された音声コマンド・デバイスと通信を確立することと;
前記音声コマンド・デバイスから遮断方向を示すデータを受領することと;
音声コマンドを受領することと;
前記コンピューティング・デバイスが方向分析能力を有する場合に、前記方向分析能力により、前記音声コマンドが前記データに示された遮断方向から受領されたと判断することと;
前記音声コマンドが前記データに示された遮断方向から受領されたとの判断に応答して、受領した前記音声コマンドを無視することと;
前記音声コマンド・デバイスからバックグラウンド・ノイズの特性を示すデータのセットを受領することと;
前記コンピューティング・デバイスが方向分析能力を有しない場合に、前記音声コマンドを、バックグラウンド・ノイズの特性を示す前記データのセットと比較することと;
前記比較に基づいて、前記音声コマンドがバックグラウンド・ノイズの特性に一致することを判断することと;及び
前記音声コマンドが、バックグラウンド・ノイズの特性に一致するとの判断に応答して、前記音声コマンドを無視することと
を含むコンピュータ実装方法。
【請求項2】
さらに、
前記音声コマンドが認識された音声にあることを判断することと;及び
前記音声コマンドを実行することと
を含む、請求項1に記載の方法。
【請求項3】
前記音声コマンドが前記遮断方向から受領したことの判断が、到着時間差により判断される、請求項1又は2に記載の方法。
【請求項4】
さらに、
音響トーンを放出して、前記音声コマンド・デバイスに対して第2の遮断方向を通知することを含み、前記音声コマンド・デバイスが、前記音響トーンの位置を確認し、かつそれを、遮断方向を示す前記データ内に格納する、請求項1~3のいずれか1項に記載の方法。
【請求項5】
さらに、複数の音響出力デバイスの状態を問い合わせて前記複数の音響出力デバイスのどれが現在音響出力を放出しているかを判断すること;
音響出力を放出していると判断された前記音響出力デバイスのそれぞれから音響ファイルを取得すること;
前記音響ファイルと、受領した前記音声コマンドとを比較することと;
取得した前記音響ファイルの少なくとも1つの実質的な一致が存在する場合に、受領した前記音声コマンドを無視することと
を含む、請求項1~4のいずれか1項に記載の方法。
【請求項6】
さらに、
前記音声コマンド・デバイスで受領されたバックグラウンド・ノイズのコンテキスト・データを示すデータのセットを受領することと;
前記コンピューティング・デバイスが方向分析能力を有しない場合に、前記音声コマンドのコンテキストと、前記音声コマンド・デバイスで受領したバックグラウンド・ノイズの前記コンテキスト・データとを比較することと;
前記比較に基づいて、前記音声コマンドのコンテキストが、前記音声コマンド・デバイスで受領されたバックグラウンド・ノイズと一致することを判断することと;及び
前記音声コマンドのコンテキストが前記音声コマンド・デバイスで受領されたバックグラウンド・ノイズと一致するとの判断に応答して前記音声コマンドを無視することと
を含む、請求項1~5のいずれか1項に記載の方法。
【請求項7】
音声コマンドをフィルタリングするためのシステムであって、前記システムが:
プログラム命令を格納するメモリと、前記プログラム命令を実行して方法を実行するように構成されたプロセッサと
を含むコンピューティング・デバイスを含み、;
前記方法は、
ある位置に配置された音声コマンド・デバイスと通信を確立することと;
前記音声コマンド・デバイスから遮断方向を示すデータを受領することと;
音声コマンドを受領することと;
前記コンピューティング・デバイスが方向分析能力を有する場合に、前記方向分析能力により、前記音声コマンドが前記データに示された遮断方向から受領されたと判断することと;
前記音声コマンドが前記データに示された遮断方向から受領されたとの判断に応答して、受領した前記音声コマンドを無視することと;
前記音声コマンド・デバイスからバックグラウンド・ノイズの特性を示すデータのセットを受領することと;
前記コンピューティング・デバイスが方向分析能力を有しない場合に、前記音声コマンドを、バックグラウンド・ノイズの特性を示す前記データのセットと比較することと;
前記比較に基づいて、前記音声コマンドがバックグラウンド・ノイズの特性に一致することを判断することと;及び
前記音声コマンドが、バックグラウンド・ノイズの特性に一致するとの判断に応答して、前記音声コマンドを無視することと
を含む、システム。
【請求項8】
前記プロセッサにより実行される方法がさらに:
前記音声コマンドが認識された音声にあることを判断することと;及び
前記音声コマンドを実行することと
を含む、請求項7に記載のシステム。
【請求項9】
前記音声コマンドが前記データに示された前記遮断方向から受領されたとの判断が、到着時間差により決定される、請求項7又は8に記載のシステム。
【請求項10】
前記プロセッサにより実行される方法がさらに:
音響トーンを放出して、前記音声コマンド・デバイスに対して第2の遮断方向を通知することを含み、前記音声コマンド・デバイスが、前記音響トーンの位置を確認し、かつそれを、遮断方向を示す前記データ内に格納する、請求項7~9のいずれか1項に記載のシステム。
【請求項11】
前記プロセッサにより実行される方法がさらに:
複数の音響出力デバイスの状態を問い合わせて前記複数の音響出力デバイスのどれが現在音響出力を放出しているかを判断すること;
音響出力を放出していると判断された前記音響出力デバイスのそれぞれから音響ファイルを取得すること;
前記音響ファイルと、受領した前記音声コマンドとを比較することと;
取得した前記音響ファイルの少なくとも1つの実質的な一致が存在する場合に、受領した前記音声コマンドを無視することと
を含む、請求項7~10のいずれか1項に記載のシステム。
【請求項12】
前記プロセッサにより実行される方法がさらに:
前記音声コマンド・デバイスで受領されたバックグラウンド・ノイズのコンテキスト・データを示すデータのセットを受領することと;
前記コンピューティング・デバイスが方向分析能力を有しない場合に、前記音声コマンドのコンテキストと、前記音声コマンド・デバイスで受領したバックグラウンド・ノイズの前記コンテキスト・データとを比較することと;
前記比較に基づいて、前記音声コマンドのコンテキストが、前記音声コマンド・デバイスで受領されたバックグラウンド・ノイズと一致することを判断することと;及び
前記音声コマンドのコンテキストが前記音声コマンド・デバイスで受領されたバックグラウンド・ノイズと一致するとの判断に応答して前記音声コマンドを無視することと
を含む、請求項7~11のいずれか1項に記載のシステム。
【請求項13】
コンピュータ可読媒体に記録され、かつデジタル・コンピュータの内部メモリに配置可能な、音声コマンドをフィルタリングするためのコンピュータ・プログラムであって、前記コンピュータ・プログラムが:
処理回路によって可読であり、かつ請求項1~6のいずれか1項に記載の方法を実行するためのソフトウェア・コード部分を含む、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声コマンド・デバイスに関し、より具体的には、音声コマンドのフィルタリングに関する。
【背景技術】
【0002】
音声コマンド・デバイス(VCD)は、人間の音声コマンドによって制御される。デバイスは、人間の音声コマンドによって制御されて、ボタン、ダイヤル、スイッチ、ユーザ・インタフェースなどといった、手を使用してデバイスを制御する必要をなくす。これは、ユーザが他のタスクに占有されている間又はデバイスに触れるには十分に接近していない場合にデバイスを操作することを可能とする。
【0003】
VCD(又は複数)は、ホーム・アプライアンス、他のデバイスのコントローラ、又はパーソナル・アシスタントといった専用のデバイスといった種々の形態を取ることができる。仮想パーソナル・アシスタントの形態におけるVCD(又は複数)は、モバイルフォンといった、コンピューティング・デバイスに一体化することができる。仮想パーソナル・アシスタントは、音声コマンド及び入力に応答してタスクまたはサービスを実行するため、音声で活性化された命令を含む。
【0004】
VCD(又は複数)は、1つ又はそれ以上のトリガ・ワードの形態での音声コマンドにより活性化されることができる。VCD(又は複数)は、登録された個人の音声又は登録された個人の音声のグループにのみ応答するようにプログラムすることができる。これは、登録されていないユーザがコマンドを与えることを防止する。他のタイプのVCDは、ユーザを登録するように調整されておらず、かつ誰もが指定されたコマンド・ワード及び命令の形態でコマンドを与えることを可能とする。
【0005】
音声コマンド・デバイス(VCD)は、人間の音声コマンドによって制御される。デバイスは、人間の音声コマンドによって制御されて、ボタン、ダイヤル、スイッチ、ユーザ・インタフェースなどといった、手を使用してデバイスを制御する必要をなくす。これは、ユーザが他のタスクに占有されている間、又はデバイスに触れるには十分に接近していない場合にデバイスを操作することを可能とする。
【0006】
複雑化は、VCDがVCDの近くで音声を発するテレビ、ラジオ、コンピュータ、又は他の非人間性のデバイスからコマンドされて起動する場合に発生する。
【0007】
例えば、音声制御されるインテリジェント・パーソナル・アシスタントに組み込まれたスマート・スピーカの形態のVCDは、リビング・ルームに提供することができる。スマート・スピーカは、テレビからの音響に誤応答することがある。時としてこれはスマート・スピーカが理解できない無害のものだが、たまに音響は、インテリジェント・パーソナル・アシスタントによる動作を生じさせる有効なコマンド又はトリガである。
【0008】
したがって、本技術においては、上述した問題に対処する必要がある。
【発明の概要】
【0009】
第1の特徴から見ると、本発明は、音声コマンドをフィルタリングするためのコンピュータ実装方法であって、位置に配置された音声コマンド・デバイスと通信を確立すること;音声コマンド・デバイスからの遮断方向を示すデータを受信すること;音声コマンドがデータに示された遮断方向から受領したことを判断することと;受信した音声コマンドを無視することとを含む方法を提供する。
【0010】
さらなる特徴から見ると、本発明は、音声コマンドをフィルタリングするシステムであって、プログラム命令を格納するメモリ及び位置に配置された音声コマンド・デバイスと通信を確立すること;音声コマンド・デバイスからの遮断方向を示すデータを受信すること;音声コマンドがデータに示された遮断方向から受領したことを判断することと;受信した音声コマンドを無視することとを含む方法を実行するためのプログラム命令を実行するために構成されたプロセッサを含むシステムを提供する。
【0011】
さらなる特徴から見ると、本発明は、音声コマンドをフィルタリングするプログラム製品であって、処理回路によって可読なコンピュータ可読な記録媒体及び本発明の上記のステップを実行するための方法を実行する処理回路によって実行可能な命令を記録するコンピュータ・プログラム製品を提供する。
【0012】
さらなる特徴から見ると、本発明は、コンピュータ可読媒体に格納され、かつデジタル・コンピュータの内部メモリに配置することができるコンピュータ・プログラムであって、上記のプログラムが本発明のステップを実行するためにコンピュータ上で動作する場合のソフトウェア・コード部分を含むコンピュータ・プログラムを提供する。
【0013】
さらなる特徴から見ると、本発明は、それに埋め込まれたプログラム命令を有するコンピュータ可読な記録媒体であって、コンピュータ可読な記録媒体がそれ自体過渡的な信号ではなく、プログラム命令がプロセッサにより実行されて、プロセッサをして、ログラム命令を格納するメモリ及び位置に配置された音声コマンド・デバイスと通信を確立すること;音声コマンド・デバイスからの遮断方向を示すデータを受信すること;音声コマンドがデータに示された遮断方向から受領したことを判断することと;受信した音声コマンドを無視することとを含む方法を実行させる、コンピュータ可読な記録媒体を含むコンピュータ・プログラム製品を提供する。
【0014】
本開示の実施形態は、音声コマンドのフィルタリングのための方法、コンピュータ・プログラム製品及びシステムを含む。位置に配置された音声制御デバイスと通信を確立することができる。遮断方向を示すデータは、音声制御デバイスから受領することができる。音声コマンドを受領することができる。音声がデータで示された遮断方向から受領されたことを決定することができる。受領した音声コマンドを、その後無視することができる。
【0015】
上記の概要は、本開示のそれぞれの実施形態又は実装毎に説明することを意図するものではない。
【0016】
本開示に含まれる図面は、本明細書に含まれ、かつその一部を構成する。これらは、本開示の実施形態を図示し、かつ本説明と共に本開示の原理の説明を提供する。図面は、典型的な実施形態を例示するに過ぎず、本開示を限定するものではない。
【図面の簡単な説明】
【0017】
【
図1】
図1は、本開示の実施形態が実装される環境を図示する概略図である。
【
図2A】
図2Aは、本開示の実施形態に従い遮断方向に基づいて音声コマンドをフィルタリングするための実施例方法を示すフロー図である。
【
図2B】
図2Bは、本開示の実施形態に従い音声コマンドを実行するか否かを判断するための実施例方法を示すフロー図である。
【
図2C】
図2Cは、本開示の実施形態に従い音響出力デバイスが音声コマンドを無視すべきか否かを判断することを問い合わせるための実施例方法を示すフロー図である。
【
図3】
図3は、本開示の実施形態に従い音声コマンド・デバイスに対して音響ファイルを通信するための実施例方法を示すフロー図である。
【
図4】
図4は、本開示の実施形態に従う音声コマンド・デバイスのブロック図である。
【
図5】
図5は、本開示の実施形態に従う音響出力デバイスのブロック図である。
【
図6】
図6は、本開示の実施形態に従うモバイル・デバイスにおける音声コマンドをフィルタリングするための実施例方法を示すフロー図である。
【
図7】
図7は、本開示の実施形態に従うモバイル・デバイスの位置に対応する遮断方向に音声コマンド・デバイスをアップデートするための実施例方法を示すフロー図である。
【
図8】
図8は、本明細書において記載される本方法、ツール、及びモジュール、及び如何なる関連する機能の1つ又はそれ以上を実装するために使用することができる例示的なコンピュータ・システムを示す高レベル・ブロック図である。
【
図9】
図9は、本開示の実施形態に従うクラウド・コンピューティング環境を示す図である。
【
図10】
図10は、本開示の実施形態に従う中層モデル・レイヤを示す図である。
【発明を実施するための形態】
【0018】
0029
本明細書において説明する実施形態は、種々の変更、代替形態の適用を受けることができ、それらの詳細を、図面における実施例の仕方で示し、かつ詳細に説明する。しかしながら、特定の実施形態は、限定する意味において取り込まれるべきではない。対照的に、本開示の範囲となるすべての変更、均等、及び代替を包含することを意図している。
【0019】
本開示の特徴は、概ね音声コマンド・デバイス分野、具体的には音声コマンドのフィルタリングに関連する。本開示は、そのような用途に限定される必然性は無く、本開示の種々の特徴は、このコンテキストを使用して種々の実施例を通して認識されるであろう。
【0020】
本開示の特徴は、音声コマンド・デバイスでの音声コマンドの区別を指向する。もし、長時間にわたって音響出力デバイス(例えばテレビ)がバックグラウンド・ノイズを発生する場合、音響出力デバイスを遮断方向に追加して、VCDがバックグラウンド・ノイズによる音響出力に応答してトリガされないようにすることができる。音声コマンド・デバイスは、防御された方向からの登録ユーザを認識するように構成されるので、登録ユーザのコマンドが、遮断方向から実行することができる。しかしながら、未登録ユーザが遮断方向からコマンドを発行しようと試みる場合(例えば、テレビによる)、未登録ユーザは、エラーとして無視される。したがって、本開示の特徴は、音響出力デバイスが音響を放出しているか否かを決定するために音響出力デバイスに問い合わせをすることによる上述した複雑さを克服する。音響出力デバイスがコマンドの発行された時点で音響を出力していない場合、未登録ユーザのコマンドが処理される。音響出力デバイスがコマンドの発行された時点で音響を出力している場合、音響ファイルは、音響出力デバイスから収集されて、受領した音声コマンドと比較される。音声コマンド及び音響ファイルが一致した場合、コマンドは、無視される(例えば、テレビから受領した音声らしいとして)。音声コマンド及び音響ファイルが、実質的に一致しない場合、音声コマンドは、音響出力デバイスに由来するものではないとして処理することができる。
【0021】
さらに特徴は、静的なやり方でVCD(又は複数)へのプログラムされた遮断方向を、新たなモバイル・デバイスが近傍に入った場合に発行することができるようにすることができることを認識する。モバイル・デバイスは、それら自体バックグラウンド・ノイズの源となることができ、これはまた、VCDにおける音声コマンドの誤ったトリガを引き起こす。したがって、本開示の特徴は、新たなバックグラウンド源(例えば、モバイル・デバイス)がVCDの近傍に入った場合に、VCDをアップデートすることを指向する。
【0022】
0032
さらにまた、モバイル・デバイスがそれら自体また音声コマンド機能を有することもある。しかしながら、モバイル・デバイスは、現在の遮断方向、認証されたユーザ音声、及び他の重要な配慮ではアップデートされない。したがって、特徴は、複数のVCD(例えば、専用のVCD及びVCD機能を有するモバイル・デバイス)の間で、VCDデータ(例えば遮断方向、認証されたユーザ音声及び音響デバイスの音量状態といった他の配慮)を同期する。
【0023】
図1を参照すると、概略
図100は、音声コマンド・デバイス(VCD)120が適当に配置された環境110(例えば室内)を示す。例えば、VCD120は、環境110内で、ソファー117に接したテーブル上に配置される、音声コマンドされるインテリジェント・パーソナル・アシスタントを含むスマート・スピーカの形態とすることができる。
【0024】
環境110は、テレビ114に伴われる2つのスピーカ115,116から音響が放出されることがあるテレビ114を含む。環境110は、また、スピーカを備えるラジオ112を含むことができる。
【0025】
VCD120は、種々の時間で2つのテレビのスピーカ115,116及びラジオ112から音響入力を受領する。これらの音響入力は、VCD120を意図せずにトリガするか又はVCD120に入力を与えるコマンド・ワードを含む可能性がある。
【0026】
本開示の特徴は、VCD120に対して追加の機能を提供して、VCD120の所与の位置について無視するべき音響入力の方向(例えば、相対角度)を学習させる。
【0027】
長時間にわたりVCD120は学習して、VCD120へのそれらの音響入力の方向により環境110内でのバックグラウンド・ノイズ源を識別することができる。この実施例では、ラジオ112は、VCD120に相対して約0°に配置されており、ハッシュした三角形131は、ラジオ112の音響出力がどのようにしてVCD120に受領されるかを図示する。テレビ114の2つのスピーカ115,116は、それぞれ約15-20°及び40-45°の方向に配置されているとして決定することができ、ハッシュした三角形132,133は、スピーカ115,116の音響出力がどのようにしてVCD120に受領されるかを図示している。長時間にわたり、これらの方向は、音響コマンドを無視するべき遮断方向であるとしてVCD120により学習される。
【0028】
もう1つの実施形態では、VCD120は、用途が固定されていてもよく(例えば、洗濯機)、遮断方向は、洗濯機と同じ部屋内のラジオといった音響入力源について学習する。
【0029】
VCD120がこれらの遮断方向からのコマンドを受領すると、既知の登録ユーザの音声からこれらの方向からのコマンドを許容するように構成されるまでコマンドを無視することができる。
【0030】
実施形態においては、VCD120は、遮断方向(例えばテレビ114の音響・スピーカ115,116又はラジオ112の方向)から話す、未知の人140からのコマンドを区別するように構成することができる。さらに後述するように、VCD120は、音響出力デバイス(例えば、テレビ114又はラジオ112)へと問合せして、音響デバイスの状態(例えば音響デバイスが音響を出力しているか否か)を確認するように構成することができる。音響デバイスの状態が、音響デバイスが音響を出力していないことを示す場合、未知の人140からのコマンドは、未知の人が遮断方向から話している場合であっても実行される。
【0031】
実施形態は、所与の方向(例えばVCD120に対する方向)に配置されたVCD120が、その方向について未知のユーザからのコマンドを失うことなく、所望しないコマンド源を無視することができる。
【0032】
さらにまた、特徴は、環境110に入ることができるモバイル・デバイス(MD)150を図示する。モバイル・デバイス150は、スマートホンであり、スマートホンは、処理及び記録能力に加え、ローカル(Bluetooth(登録商標)といった)及びワイド・エリア(4G)無線機能を有する。モバイル・デバイス150は、また音響出力(1つ又はそれ以上のスピーカ)及び音響入力(1つ又はそれ以上のマイクロホン)技術を含むことができる。モバイル・デバイス150は、また、その上に提供された音声制御/コマンド・ソフトウェア機能を有する可能性があり、これがユーザ音声によるモバイル・デバイスの制御を可能とする。
【0033】
モバイル・デバイス150の環境110への動的な侵入は、モバイル・デバイス150が、モバイル・デバイス150からの不用意に受領されるコマンドを導入し、VCD120に作用する、追加的な音響出力源(バックグラウンド)として考えることができることから、既存の静的VCD120の操作を混乱させる可能性を有する。同様に、既存音響のバックグラウンド源(ラジオ112及びテレビ114)は、モバイル・デバイス150に存在する音声制御機能の動作を混乱させる可能性がある(モバイル・デバイス150がそのような機能を有するものと仮定する。)モバイル・デバイス150といった新たなデバイスの侵入は、VCD120により、VCD120及びモバイル・デバイス150の音声制御された操作が混乱する可能性を最小化するように取り扱われる。
【0034】
さらに以下に論じるように、VCD120は、1つ又はそれ以上の遮断されたバックグラウンド音声ノイズ源の詳細を記録することができる。VCD120により記録された詳細は、階層情報又はさらにはバックグラウンド音声ノイズを提供するデバイス(複数)を識別する情報、又は事故的に音声コマンドを出力する可能性のある、存在する特定のデバイス(複数)により放出されがちなバックグラウンド音声ノイズの特性(例えば、トーン及びピッチ)及びこれらの組み合わせとして、1つ又はそれ以上のやり方において構造化することができる。この情報は、ユーザ以外の音声ノイズのバックグラウンド源に由来する所望しない音声コマンドをフィルタリング排除すること、というその自己の目的のために、VCD120により保持される。
【0035】
静止するVCD120が配置されている環境110内に侵入したモバイル・デバイス150は、VCD120がVCD120及びモバイル・デバイス150の両方のより良い動作を達成するための活動のシリーズを取得させる。VCD120は、静的(例えば、環境110内で固定された位置にある。)であり、そしてモバイル・デバイス150は、動的(例えば環境110内でモバイルである。)であると考えることができる。究極的には、両方のデバイスは、VCDとして機能することができるが、一方は、静的であり、もう一方は、動的である。デバイス120及び150は、モバイル・デバイス150が音響コマンドによってトリガされる度にモバイル・デバイス150が静的なVCD120と通信してVCD120が取得していたバックグラウンド・ノイズ源に関する情報を利用できるように、操作される。このことは、その後、モバイル・デバイス150が新たな環境に移動した場合に、モバイル・デバイス150がバックグラウンド・ノイズ源によって所望しないコマンドが実行されることを防ぐことを可能とする。加えて、デバイス120及び150は、静的なVCD120が過渡的なバックグラウンド・ノイズ源としてのモバイル・デバイス150の知識を得ることを可能とするように操作されて、静的なVCD120が、例えばモバイル・デバイス150がビデオ、TVショウのストリーム、映画、音響・トラックなどを再生している場合とした場合でも、モバイル・デバイスのスピーカから来る所望しないコマンドを阻止することを可能とする。VCD120とモバイル・デバイス150との間の協働は、両方のデバイスの操作を改善する。
【0036】
VCD120及びモバイル・デバイス150のこの改善された操作は、現在のVCD(複数)及びモバイルフォンといったパーソナル・アシスタント・デバイスなどへのソフトウェア・アップデートとして実装することができる。このプロセスは、モバイル・デバイス150がVCD120の存在する新たな環境に侵入した時点でトリガすることができる。モバイル・デバイス150は、Bluetooth(登録商標)、Wi-Fi、又はその他の局所的な通信技術を通して環境110内に配置されたVCD120と通信してペアリングをセットアップする。この初期ハンドシェイクの一部として、モバイル・デバイス150は、モバイル・デバイスのパーソナル・アシスタントを活性化するために使用される、適切なトリガ・ワード又はフレーズを送付することができる。VCD120は、その後、これらのトリガ・ワードをストレージに格納することができる。VCD120は、また以前にペアとなったモバイル・デバイス150の詳細を記録して、同一のモバイル・デバイス150が環境110内に侵入する度にトリガ・ワードを送付する必要を無くすることができる。
【0037】
VCD120は、その後、記録されたモバイル・デバイスのトリガ・ワード/フレーズの全ての発生を聴取し、VCD120が如何なるトリガ・ワード/フレーズを検出する場合にでも、VCD120は一時的ストレージにインスタンスを格納して、使用されたフレーズ、フレーズを受領した時間/日付及びそのフレーズが既知のバックグラウンド・ノイズ源の方向から到来したか否かをディテール化する。同様に、モバイル・デバイス150がトリガ・ワード/フレーズを検出した場合はコマンドを処理する前に、モバイル・デバイス150は、VCD120に対して問い合わせを送付して、このコマンドがVCD120の既知のバックグラウント・ノイズ源の内の1つから到来したか否かを判断する。トリガ・ワード/フレーズが、環境内(VCD120に関連して)の既知のバックグラウンド・ノイズ源に由来する場合、モバイル・デバイス150は、コマンドを無視することができる。そうでない場合、モバイル・デバイス150は、正常であるとしてコマンドを実行することができる。
【0038】
定期的に、VCD120は、モバイル・デバイス150が依然として環境110内に居るか否かを、信号(例えばモバイル・デバイス150により放出される高周波数音響信号)を受信して確認することができる。モバイル・デバイス150が環境110を離れた場合、VCD120は、観測したトリガ・ワード/フレーズの一時的ストレージをクリアし、将来の如何なるコマンドの格納を停止することができる。この実施形態では、モバイル・デバイス150は、信号を使用してVCD120をその位置でアップデートするので、VCD120は、モバイル・デバイス150の位置でその遮断方向をアップデートすることができる。
【0039】
図2Aは、本開示の実施形態に従う遮断方向に基づいた、音声コマンドのフィルタリングのための実施例方法200を示すフロー図である。
【0040】
方法200は、1つ又はそれ以上のバックグラウンド・ノイズを判断することにより開始する。これがステップ201に記載されている。VCD120は、バックグラウンドの音響入力を受領することにより、位置についてのそれらの方向を学習し、音響入力が受領された相対的な方向を分析する(音声及び非音声のバックグラウンド・ノイズを含むことができる)。いくつかの実施形態では、バックグラウンド・ノイズの1つ又はそれ以上の方向を決定することは、三角法により達成される(例えば、2つ又はそれ以上の既知の位置(VCD120に搭載されたマイクロホン)において音響入力を測定することによって、音響入力の方向又は位置又はそれら両方を、既知のポイントからの角度を測定することにより決定する。)。三角法は、VCD120の2つ又はそれ以上のマイクロホンを含み、かつ2つ又はそれ以上のマイクロホンで受領した音響データを交差参照することにより達成される。いくつかの実施形態では、1つ又はそれ以上の遮断方向は、到着時間差(TDOA)により決定することができる。この方法は、同様に2つ又はそれ以上のマイクロホンを使用することができる。2つ又はそれ以上のマイクロホンで受領したデータが分析され、音響入力の到着時間差に基づいて、受信した音響入力の位置を決定する。いくつかの実施形態では、1つ又はそれ以上の遮断方向は、室内のスピーカ(例えば、
図1のラジオ112,スピーカ115および116)にセンサ(例えば、光学的センサ、GPSセンサ、RFIDタグなど)を関連づけ、センサを使用して遮断方向を判断することにより決定することができる。例えば、光学センサは、VCD120及び室内の1つ又はそれ以上のスピーカに関連づけることができる。遮断方向は、その後、VCD120に関連づけられた光学的センサにより決定される。代替的に、バックグラウンド音声ノイズの方向は、ユーザにより構成される可能性がある。実施形態においては、遮断方向は、1つ又はそれ以上のモバイル・デバイス(
図1のモバイル・デバイス150)の位置に基づいて決定することができる。
【0041】
1つ又はそれ以上の遮断方向は、その後格納される。これがステップ202に記載されている。1つ又はそれ以上の遮断方向は、好適なメモリ(例えば、フラッシュ・メモリ、RAM、ハードディスク・メモリなど)に格納することができる。いくつかの実施形態では、1つ又はそれ以上の遮断方向は、VCD120上のローカル・メモリに格納される。いくつかの実施形態では、1つ又はそれ以上の遮断方向は、もう一つの機械上に格納され、かつネットワークを介して通信することができる。
【0042】
加えて、VCD120は、認識した音声生体特徴を決定する。これがステップ203に示されている。認識した音声生体特徴の決定は、例えば、登録された1つ又はそれ以上の音声に対して音声認識を適用することによって達成され得る。音声認識は、ピッチ及びトーンと言った音声の特性を使用することができる。認識された音声生体特徴は、VCD120に格納されて、入来する音声がVCD120に登録されているか否かを判断する。これは、入来音声と、認識された音声生体特徴とを比較することにより達成することができ、入来音声は認識された音声か否かを判断する。
【0043】
音声入力がその後受領される。これがステップ204に示されている。音声入力は、人間又は非人間のエンティティから受領することができる。したがって、用語“音声入力”は、音声である必要はないが、バックグラウンド・ノイズ例えば、洗濯機が動作している、スピーカからの音楽などといった)を含むことができる。
【0044】
その後、音声入力が遮断方向から来たか否かの判断が行われる。これがステップ205に示されている。音声入力が遮断方向から来たか否かの判断は、格納された遮断方向と、音声入力を受領した方向とを比較して、受領した音声入力が格納された遮断方向に関連するか否かが判断される。音声入力は格納された遮断方向と違う方向から来た場合、その後音声入力は遮断方向から来ていないとの判断がなされる。
【0045】
音声入力が遮断方向から来ていないと判断された場合、その後、音声入力が処理される。これがステップ206に示されている。いくつかの実施形態では、処理は、コマンドを識別すること及び受領したコマンドを実行することを含む。いくつかの実施形態では、処理は、受領した音声入力を格納したコマンド・データと比較して(例えば、コマンド・ワード及びコマンド開始プロトコルを特定するデータ)、受領した音声入力が格納したコマンド・データのコマンドに対応(例えば一致)するか否かを判断することができる。例えば、音声入力が“パワー・オフ”を含み、かつ“パワー・オフ”が格納されたコマンド・データにおけるコマンド開始フレーズである場合、その後、音声入力がコマンドであることが決定され、かつコマンドを実行することができる(例えば、電源を切断する)。
【0046】
音声入力が、遮断方向から受領されたと判断された場合、遮断方向に関連付けられる音響デバイスは、音声入力を確かめるために問合せを受けることができる。これがステップ207に示されている。例えば、
図1を参照すると、音響入力がスピーカ116から受領された場合、テレビ114に問合せ、テレビがオフであるかミュートされているか否かを判断することができる。テレビがオフであるかミュートされている(音響を放出していない)と判断された場合、音声入力は、未知の人140から受領した音響入力であるとして処理される(例えば、音声コマンドを実行することができる)。
【0047】
上述した操作は、如何なる順序でも達成され得、かつ上述したことには限定されない。追加的に、本開示の範囲内に依然として存在すれば、上述した操作のいくつか又は全てを実行することができ、また何れも実行しないことができる。
【0048】
図2B~2Cは、本開示の実施態様に従う音声コマンド・デバイス(例えば、VCD120)により受領された音響音声データをフィルタリングするための方法を集合的に示したフロー図である。
図2Bは、本開示の実施形態に従い、方向及び認識された音声生体特徴に基づいて音声コマンドを実行するか否かを判断するための実施例方法を示すフロー図である。
図2Cは、本開示の実施形態に従い、音響出力デバイスに問い合わせを行い、音声コマンドが無視されるべきか否かを決定するための実施例方法を示すフロー図である。
【0049】
方法250は、VCDに1つ又はそれ以上の認識された音声が登録されている状態で開始する。これが、ステップ252で示されている。例えば、VCDを、VCDの主なユーザを登録するように構成し、音声の音声特徴を容易に認識することを保証することができる。音声登録は、主なユーザからの種々の音声入力を分析することによって達成することができる。分析された音声入力は、その後、主要ユーザについてのトーン及びピッチを区別するために使用することができる。代替的に、デバイスを使用する間に受領するピッチ及びトーンを記録することにより、通常受領する音声を自動的に学習させ、登録することができる。音声認識機能を有することは、VCDにより認容された他の非登録音声からのコマンド又は入力を排除するものではない。いくつかの実施形態では、音声はまったく登録されず、かつ本方法は、すべての音声入力を遮断することができる。
【0050】
音声入力は、その後、受領される。これがステップ253に示されている。いくつかの実施形態では、非音声入力は、自動的にフィルタされるが、これはVCDの本来的な機能とすることができる。いくつかの実施形態では、音声入力は、バックグラウンド・ノイズ音声又はストリング(例えば、非人間性の音声入力)を含むことがある。
【0051】
その後、音声入力が認識した音声に関連するか否かの判断が行われる。これが、ステップ254に示されている。音声入力が認識した音声と関連するか否かの判断は、受領した音声入力の音声生体特徴を分析し(例えば受領した音声入力のトーン及びピッチを比較することによる)、音声入力と、登録した音声生体特徴とを比較することにより達成することができる。
【0052】
音声入力が認識した音声に関連する場合、音声入力はコマンドであり、コマンドが実行される。これがステップ255に示されている。これは、防御された方向から受領された場合を含み、音声入力が受領された方向に関わらず、登録されたユーザからの音声入力にVCDが応答することを可能とする。本方法は、任意的に音声コマンドを受領した時間及び方向を格納することを含み、学習の目的で正規のコマンドのデータ・ポイントを格納することができる。例えば、これは、VCDがより感度よいコマンド認識を促すことに関連して好ましい位置からというように、正規のコマンドの共通の方向を学習するために使用することができる。
【0053】
音声入力が、認識された音声からのものではない場合、音声入力が遮断方向から発生しているか否かを判断することができる。これがステップ256に記載されている。音声入力の方向の決定は、入来する音声入力の角度を測定することを含むことができる。VCD(複数)は、入来する音の方向を評価するための既知の機能を有することができる。例えば、多重のマイクロホンをデバイスに配置することができ、多重のマイクロホンを横切る音の方向は、位置を決定することを可能とする(例えば、三角法又は到着差時間)。遮断方向は、受信機に対する入来音の発生角の範囲として格納することができる。多重のマイクロホンの場合、遮断方向は、1つ又はそれ以上の多重のマイクロホンにおいて、主に又はより強く受領した音声入力に対応して決定することができる。入来音の方向は、VCDの垂直方向に加え、上下から決定される入力方向を有する3次元的配置において決定することができる。
【0054】
音声入力が遮断方向からのものでない場合、音声入力がコマンドであるか否かを判断する。これがステップ257に示されている。音声入力がコマンドであると判断された場合、その後コマンドは、ステップ255で実行することができる。これは、非登録音声、すなわち、新たな又はゲスト・ユーザからのコマンドを実行させることを可能とし、VCDのユーザを登録されたユーザに制限することがない。いくつかの実施形態では、コマンドは、コマンドを受領した方向を含むコマンドのデータ・ポイントとして格納することができる。これは、さらに音声登録のために分析することができるか、又はコマンドが連続するユーザ入力により上書きされたか否かを判断するために分析される。この方法は、その後終了し、さらなる音声入力を待機する(例えばステップ253)。
【0055】
音声入力が遮断方向からではなく、コマンドではないと判断された場合、音響入力はバックグラウンド・ノイズ源であると判断される。バックグラウンド・ノイズのデータは、その後、バックグラウンド・ノイズを受領した時間、日付、及び方向(例えば、入来角度)で格納される。これがステップ259に示されている。この方向は、その後遮断方向に追加され、音声入力が繰り返しこの方向から受領される場合には、それらを遮断することができる。閾値は、非遮断方向から受領するコマンドを特定しない音声入力をバックグラウント・ノイズであると判断する場合を判断するために実装することができる。
【0056】
例えば、複数の音声入力は、特定の方向から受領することができる。複数の音声入力は、それぞれ異なる時間に受領することができる。受領した複数の音声入力は、格納されたコマンド・データと、複数の受領した音声入力が格納されたコマンド・データに相当するか否かを判断するために比較することができる。格納したコマンド・データに相当しない複数の音声入力の数は、非コマンド音声入力の閾値(例えば、1つ又はそれ以降の遮断方向の所与の方向を格納する前に、所与の方向から受領することができる非コマンド音声入力の数を特定する閾値)と比較することができる。格納されたコマンド・データに対応しない音声入力の数が非コマンド音声入力の閾値を超えることに応答して、特定の方向は1つ又はそれ以上の遮断方向として格納することができる。いくつかの実施形態では、バックグラウンド・ノイズの閾値は、周波数及び振幅といった音響特性を含む。
【0057】
音声入力が遮断方向から来たことが判断された場合、音声入力がコマンドであるか否かが判断される。これがステップ258に示されている。音声入力が遮断方向から来て、かつコマンドではない場合、その後音声入力は、バックグラウンド・ノイズ源であるとして格納される。これがステップ259に示されている。
【0058】
遮断方向から来た音声入力がコマンドであると判断された場合、その後方法250は、
図2Cに進み、遮断方向の1つ又はそれ以上の音響入力デバイスが識別される。これがステップ271に示されている。データ格納は、VCDにより維持され、遮断方向及びそれぞれの遮断方向にある音響出力デバイスと共に、それぞれの音響デバイスに問合せを行うための通信又はアドレスとを格納できる。いくつかの実施形態では、本方法は、VCDの近くのすべての音響出力デバイスを識別することができ、かつすべての音響出力デバイスと通信するブランケット通信を使用することができる。
【0059】
1つ又はそれ以上の音響デバイスが問合せを受ける。これがステップ272に示されている。遮断方向に多数の音響出力デバイスがある実施形態では、多数の問合せを2つ又はそれ以上の音響出力デバイスに同時に送信することができる。音響出力デバイス(複数)に問い合わせることは、デバイスに要求信号を通信して、デバイスに関連する音響データを収集することを含むことができる。音響出力デバイス(複数)は、音量状態(例えば、デバイス(複数)がミュート又は現在の音量レベル)及び電源状態(例えば、デバイス(複数)が電源オン)であるかについての問い合わせを受けることができる。状態要求は、如何なる好適な接続を使用しても通信することができる(例えば、イントラネット、インターネット、Bluetooth(登録商標)など)。
【0060】
問い合わせられた音響デバイスが音響を発生しているか否かを判断する。これがステップ273に示されている。音響出力デバイスが音響を発生しているか否かの判断は、問合せ要求に対する音響出力デバイスの応答に基づいて達成される。例えば、問合せ要求に対する応答が、音響出力デバイスがミュートされていることを示す場合、ステップ273で、音響出力デバイスは音響を放出していないと判断される。同様に、問合せ要求に対する応答(又はその欠如)が、音響出力デバイスがオフであることを示す場合、音響出力デバイスは、音響を放出していないと判断される。いくつかの実施形態では、音量レベル閾値に基づいて達成することができる。例えば、音量レベル閾値が、音量の50%に設定されている場合であって、問合せ要求に対する応答が、音響出力デバイスの音量が40%であることを示す場合、音響出力デバイスは、VCDをトリガするに充分大きな音響を放出していないと判断される。
【0061】
音響出力デバイスが音響を放出していない(又は音響が音量閾値に基づいてVCDをトリガするには静かすぎる)と判断された場合、その後コマンドが実行される。これがステップ274に示されている。オーディオ出力デバイスが音響を出力している(又は音量閾値に基づいて音響がVCDをトリガするに充分に大きい)と判断された場合、その後音響サンプルが音響出力デバイスから要求される。これがステップ275に示されている。いくつかの実施形態では、音響サンプル(例えば音響ファイル、音響の断片など)は、VCDがトリガされた時間的ポイントに対応する。例えば、VCDがトリガされた時間的ポイントに及ぶ2-10秒の音響サンプルを要求することができる。しかしながら、如何なる好適な音響サンプル長でも要求することができる(例えば、過去の時間、日、又はVCDパワーセッション)。
【0062】
要求された音響ファイルは、その後VCDにより受領される。これがステップ276に示されている。さらに、VCDによりマイクロホンが検出した音響ファイルもまた得ることができる。これがステップ277に示されている。音響ファイルは、その後比較のためステップ278で処理される。いくつかの実施形態では、処理は、音響ファイルのクリーニング・アップ(例えば、音響ファイルから静的なバックグラウンド・ノイズを除去すること)を含むことができる。いくつかの実施形態では、処理は、音響ファイル(例えば、音響出力デバイスからの音響ファイル及びVCDのマイクロホンから得た音響ファイル)を均一の長さに短縮することを含むことができる。いくつかの実施形態では、処理は、音響ファイルを増幅することを含むことができる。いくつかの実施形態では、処理は、音響ファイルのタイミングを動的に調整して、比較のため、音響ファイル内に存在するワードを適切に整列させることができる。しかしながら、ステップ278では音響ファイルは、如何なる他の好適な仕方で処理することができる。例えば、いくつかの実施形態では、音響ファイルは、テキスト(例えば、従来の音声-テキスト変換を使用する)に変換され、音響ファイルの間のテキスト(例えば写し)を比較することができる。
【0063】
音響出力デバイスから取得した音響ファイル及びVCDマイクロホンから取得した音響ファイルがその後、比較される。これがステップ279に記載されている。いくつかの実施形態では、音響ファイルは、高速フーリエ変換(FFT)を使用して比較される。音響ファイルがテキストに変換される実施形態では、それぞれの音響ファイルのトランスクリプトが比較され、それぞれのトランスクリプト内のストリングが一致するか否かを判断することで比較を行うことができる。いくつかの実施形態では、テキストのトランスクリプトは、音声学的表現に変換され、ワードがコマンドのように聞こえるが、実際には異なる場合の誤った一致を避けても良い。検出におけるわずかな違いは、既知のストリング類似性及びテキスト比較法を使用して対処することができる。
【0064】
その後、音響出力デバイスから受領した音響ファイルと、VCDマイクロホンで受領した音響ファイルの一致確度閾値は、ファイルとの間の一致が有るか否かを判断する。これがステップ280に示されている。実施形態において、一致するか否かの判断は、1つ又はそれ以上の閾値に基づいて達成することができる。例えば、音響ファイルがFFTを介して比較される場合、音響ファイルが実質的に一致するか否かを判断するために、一致確度閾値が存在する。例えば、一致確度閾値を70%に設定する場合、FFTの比較が60%の類似性を示せば、音響ファイルは、実質的に一致しないと判断することができる。もう一つの実施例として、比較が75%の類似性を示す場合、音響ファイルは、実質的に一致すると判断することができる。
【0065】
音響ファイルが、テキストに変換されて比較される実施形態では、音響ファイルのトランスクリプト内で一致したキャラクタ/ワードの数に基づくことができる。例えば、一致確度閾値は、音響ファイルが実質的に一致するために一致することが要求される、それぞれのトランスクリプト内の第1のキャラクタの数を特定することができる(例えば、実質的に一致すると判断されるためには音声コマンドと、音響出力デバイスについて20キャラクタが一致しなければならない。)。もう一つの実施例としては、一致確度閾値は、音響ファイルが実質的に一致するために要求されるそれぞれのトランスクリプト内のワード数を特定することができる(例えば、音声コマンドと音響出力デバイスとが実質的に一致していると判断するためには5ワードが一致しなければならない。)。
【0066】
一致が存在する場合、コマンドは、音響デバイスに由来し、無視される。これがステップ281に示されている。一致しない場合、コマンドは、音声が音響出力デバイス以外の源に由来するとして、処理され、実行される。これが、ステップ274に示されている。
【0067】
ステップ281でコマンドが無視される場合、コマンドは、音声入力を受領した方向と共に、時刻及び日付のタイムスタンプを含む無視コマンド・データ・ポイントとして格納される。このデータは、遮断方向の分析に使用することができる。さらにこのデータは、格納されたバックグラウンド・ノイズのデータ・ポイントの時刻及び日付を参照することにより、デバイスが遮断方向に依然として配置されているか否かを分析するために使用される。所与の方向からの非識別の音声コマンドの閾値数は、遮断方向に追加する前に格納することができる。
【0068】
正規の音声コマンドの入来方向と共に登録された格納されたデータ・ポイント、バックグラウンド・ノイズ入力及び無視又は不正コマンドの分析を実行して、遮断方向及び任意的に正規コマンドの共通の方向を学習することができる。定期的なデータのクリーンアップ(例えば、フォーマット及びフィルタリング)は、格納したデータ・ポイントのバックグラウンド処理として実行される。
【0069】
データ・ポイントが格納され、本方法及びシステムが、ノイズを無視すべきより正確な方向を識別することを可能とする。既知の遮断方向から来た認識された音声からではないノイズは、それがコマンドあろうとなかろうと、に関わらず、無視することができる。
【0070】
異なったノイズのデータ・ポイントを格納することは、さらにバックグラウンド・ノイズの分析を可能とし、したがって防御するべき方向のより詳細な識別を提供する。例えば、オーブンのビープ音は、オーブンの方向からVCDによって受領することができる。長時間にわたりバックグラウンド・ノイズ・データが分析されて、この方向でのバックグラウンド・ノイズのデータ・ポイントがコマンドをこれまで含まなかったこと、即ち、所与の方向からのバックグラウンド・ノイズのデータ・ポイントが音響的コンテントの観点から極めて類似することを識別することができる。この場合、コマンドは、この方向から許可される。
【0071】
VCDは、防御された方向を無効にするか又はコマンドの実行を無効にするためのユーザ入力機構を含むことができる。本方法は、また、ユーザからのそのような無効化入力から学習して、性能を改善することができる。
【0072】
この方法は、VCDが同一の部屋の同一の位置にあることを仮定するが、これはしばしば起こる。VCDが新たな位置に移動された場合、それはその新たな環境を再学習して、新たな位置でのVCDに関連する非人間的な発生源を防御するための方向を識別する。方法は、VCDの所与の位置に関連する遮断方向を格納することができるので、VCDが元の位置に戻されると、その環境を再学習することなく、再構成することができる。
【0073】
いくつかの実施形態では、本方法は、防御するべき既知の方向の構成を可能とする。これは、長時間にわたる防御方法の学習の必要性又は追加を排除することができ、干渉する音響を受け取る方向のユーザの知識から、遮断方向をユーザがプリセットすることを可能とする。
【0074】
ユーザは、位置にVCDを設置することができ、VCDは、防御位置の構成を入力することを許容することができる。これは、グラフィカル・ユーザ・インタフェースを介したり、リモート・プログラミング・サービスを介したりすることなどによる。1つの実施形態では、遮断方向の構成は、防御したい角度にユーザが立って音声コマンドを使用し、防御したい方向でコマンドを発行することにより実行される(例えば、テレビの前)。もう一つの実施形態では、部屋の事前構成がロードされて、これがVCDを移動する場合に使用するために格納される。
【0075】
図1に示す実施例を使用すると、VCD120がテレビ114からコマンドを抽出し始めることができ、これらの入来コマンドの方向を格納することができる。本方法は、その後、常時同一の方向から発行されるコマンド及びバックグラウンド・ノイズをフィルタ除外することができる。他の方向からコマンドを通常与える音声と直線上にない方向からのコマンドは無視される。
【0076】
説明した方法の効果は、既知のユーザからではないすべてのコマンドを防御するデバイスのようにではなく、VCDが方向の形式において、正規化の追加的なレベルを含むことができることにある。新たなユーザがVCDの近くに到着し、コマンドを発行する場合、VCDは、静的であって音響を放出する物体との関連性によりコマンドが遮断されない方向から来るため、依然としてコマンドを実行することができる。
【0077】
解決される技術的課題は、デバイスが、人間のユーザとは対照的に音が他のデバイスから来たことを識別することを可能とすることにある。さらに、本開示は、最近の音響サンプルについてデバイスに問い合わせることによって、遮断方向から来たコマンドが音響出力デバイス又は人間によるものか否かを判断することにおいて技術的な利益を提供する。
【0078】
上述した操作は、如何なる順序においても完了することができ、説明したものに限定されない。加えて、本開示の範囲内に依然として存在すれば、上述した操作のいくつかまたはすべてが完了することができ、又いずれもが完了されなくともよい。
【0079】
図3は、本開示の実施形態に従い、音響ファイルを音声コマンド・デバイスに通信するための実施例方法を示すフロー図である。テレビ、ラジオ、又はモバイル・デバイスといった音を出力する音響出力デバイスは、要求に応じてVCDと、それらとを通信させるソフトウェア・コンポーネントを含むことができる(例えば、ネットワーク・インタフェース・コントローラ(NICs)を有するスマート・スピーカ又はスマート・テレビ)。音響出力デバイスは、この機能を含ませるためのソフトウェア・アップデートを必要とし、かつ音響出力デバイスは、また、ホームWiFiネットワークといったVCDと同一のネットワークに接続される必要がある。
【0080】
方法300は、音響デバイスが音響出力をモニタすることにより開始する。これが、ステップ301に示されている。音響出力は、事前定義された又は構成された期間にわたりバッファすることができる。これがステップ302に示されている。例えば、音響出力デバイスは、音響出力の直近の10秒間、1分間、5分間などを格納することができる。
【0081】
音響出力デバイスは、VCDから状態要求を受領することができる。これがステップ303に記載されている。この要求は、
図2Cのステップ275を参照して説明した要求と同一又は実質的に類似とすることができる。実施形態において、要求は、音量状態又は電源状態、又はそれら両方を問い合わせることができる。音響出力デバイスは、状態応答で要求に対して通知することができる。これがステップ304に示されている。状態応答は、音量状態又は電源状態又はそれら両方を含むことができる。VCDが状態応答に基づいて音響出力デバイスが音響を出力していると判断する場合、音響出力サンプルの要求をVCDから受領することができる。これがステップ305に示されている。いくつかの実施形態では、音響出力デバイスが音響を放出している場合、それはVCDに対して音響ファイルの形式で直近にバッファした音響出力を自動的に通信する。
これがステップ306に示されている。いくつかの実施形態では、音響出力デバイスは、バッファした音響ファイルをVCDに通信するに先立って、VCDから音響サンプル要求を受領するのを待機することができる。
【0082】
上述した操作は、如何なる順序においても完了することができ、説明したものに限定されない。加えて、本開示の範囲内に依然として存在すれば、上述した操作のいくつかまたはすべてが完了することができ、又いずれもが完了されなくともよい。
【0083】
図4を参照すると、本開示の実施形態に従うVCD420のブロック図が図示されている。VCD420は、
図1に記載したVCD120と同一又は実質的に類似するものとすることができる。実施形態においては、VCD420内に図示されたコンポーネントは、プロセッサにより実行されるべき陽に構成されたプロセッサ実行可能な命令とすることができる。
【0084】
VCD420は、少なくともプロセッサ401を含み、少なくともプロセッサ401上で実行するソフトウェユニットである、説明したコンポーネントの機能を実行するハードウェア・モジュール又は回路を含む専用又はマルチ・パーパスなコンピューティング・デバイスとすることができる。並列処理スレッドを動作させるマルチ・プロセッサは、コンポーネントのいくつか又はすべての機能の並列処理を可能とするために提供することができる。メモリ402は、少なくとも1つのプロセッサ401に対してコンピュータ命令403を提供するために構成することができる。
【0085】
VCD420は、デバイス及び既知の処理のタイプに応じて既知のVCDの機能の耐えのコンポーネントを含むことができる。実施形態では、VCD420は、多数(例えば2つ又はそれ以上)の、VCD420に相対して異なる方向からの音声入力を受けるためのアレイとして構成されたマイクロホンを含む音声入力レシーバ404を含む。音声入力レシーバ404の多数のマイクロホンに受領されたこの音響は、入来ノイズの位置(例えば、方向)を判断するために使用することができる。
【0086】
VCD420は、音声コマンドを受領し、処理するためのVCDの既存ソフトウェアの形態でコマンド処理システム406を含むことができる。加えて、音声コマンド識別システム410は、方向を決定するために提供されており、防御された方向からのコマンドを遮断し、かつ識別する。VCD420は、さらに遮断方向からの既知の音響出力デバイスからの及び未知の又は未登録のユーザからのものである可能性がある、真の音声入力コマンドからの音声入力を区別するように構成された、音声コマンド区別システム440を含むことができる。
【0087】
VCDソフトウェアは、音声コマンド認識処理を含み、VCD420にローカルに又はコンピューティング・デバイスに、又はネットワークを介したリモート・サービス例えばクラウド・ベースのサービスに提供することができる。音声コマンド識別システム410及び音声コマンド区別システム440は、VCDソフトウェアのダウンロード可能なアップデートとして提供することができるか、又は例えばクラウド・ベースのサービスとしてネットワークを介して個別的なアド・オンのリモート・サービスとして提供することができる。リモート・サービスは、また、音響出力デバイスに上記の機能を提供するため、音響出力デバイスのアプリケーション又はアプリケーション・アップデートとして提供できる。
【0088】
音声コマンド区別システム440は、音声コマンド識別システム410により提供されるVCD420の位置について、バックグラウンド音声ノイズについての1つ又はそれ以上の遮断方向にアクセスするための遮断方向コンポーネント421を含む。音響出力デバイスについての格納された通信チャネルを含む音響出力デバイスに関連付けられた遮断方向のデータ・ストア430は、音声コマンド識別システム410により維持される。
【0089】
音声入力レシーバ404は、その位置でVCD420における音声入力を受領し、音声入力が遮断方向から受領されたことを判断するように構成することができる。
【0090】
音声コマンド区別システム440は、データ・ストア430を参照することによって遮断方向に関連する音響出力デバイスを識別するための識別コンポーネント423を含むことができる。識別コンポーネント423は、三角法又は到着時間差を介して遮断方向に配置されたデバイスを判断することができる。
【0091】
音声コマンド区別システム440は、音識別された音響出力デバイスの状態が、それが現在音響出力を放出しており、かつそれが現在オーディオ出力を放出している場合、音響出力デバイスから出力された直近の音響出力のファイルを取得するため、問い合わせるように構成された問い合せコンポーネント424を含むことができる。問い合せコンポーネント424は、1つ又はそれ以上のデバイスから1つ又はそれ以上の状態(例えば、音量又は電源状態)を要求するように構成された状態要求コンポーネント425を含む。問い合せコンポーネント424は、さらに、問い合わせられた音響デバイスが音響を放出(例えば、音量/電源状態)に応じてしているか否かを判断するための音響判断コンポーネント426を含む。いくつかの実施形態では、問い合わせコンポーネント424は、閾値コンポーネント427を備え、この閾値コンポーネント427は、音響出力デバイスは音響を放出しているか否かを判断するための、1つ又はそれ以上の閾値を実装する。例えば、閾値コンポーネント427は、デバイスが音響を放出しているか否かを判断するための音量閾値をセットするように構成することができる。問い合せコンポーネントは、音響出力デバイスから状態を受領するための状態受領コンポーネント431を含むことができる。
【0092】
問い合せコンポーネント424は、音声コマンド・デバイスの範囲内のすべての音響デバイスの状態を問い合わせて、それらのどれが現在音響出力を放出しているかを判断する。問い合せコンポーネント424は、音響出力デバイスのバッファされた音響ファイルを取得することができる。
【0093】
音声コマンド区別システム440は、問い合わせた音響出力デバイスからの音響ファイルを受領するための音響ファイル取得コンポーネント432を含むことができる。取得された音響ファイルは、音声入力レシーバ404で受領した音声入力と比較される。
【0094】
0105
音声コマンド区別システム440は、取得した音響ファイルと、受領した音声入力とを比較するための比較コンポーネント428を含むことができる。比較コンポーネント428は、取得した音響ファイルと受領した音声入力とを処理して、音響ファイル及び音声入力をテキストに変換し、比較のためテキストを音声学上のストリングとしてのテキストを表現するための処理コンポーネント429を含むことができる。しかしながら、処理コンポーネント429は、音響ファイルを他の如何なるやり方において処理することができる(例えば、音響ファイルの振幅、長さなどの変調)。
【0095】
音声コマンド区別システム440は、取得した音響ファイルと実質的な一致がある場合に、受領した音声入力を無視するための音声入力無視コンポーネント433を含むことができる。
【0096】
音声コマンド区別システム440は、また、モバイル・デバイス交流コンポーネント460を含むことができる。モバイル・デバイス交流コンポーネント460は、データ・ストア430内に格納した遮断方向の近くにあるモバイル・デバイスと同期するように構成することができる。さらにモバイル・デバイス交流コンポーネント460は、また、モバイル・デバイスから信号を受領するように構成することができ、VCD420は、ぞれぞれのモバイル・デバイスの位置をアップデートされた位置を格納することができる。実施形態においては、モバイル・デバイス交流コンポーネント460は、付近のモバイル・デバイスに対してデータ・ストア430内に格納された音声認識データ(例えば登録されたユーザの声紋)、バックグラウンド・ノイズ・データ(例えば、バックグラウンド・ノイズの特性)及び音響状態データ(例えば、問い合わせコンポーネント424により受領した)といったVCDデータを通信することができる。
【0097】
0108
図5を参照すると、本開示の実施形態に従う、音響出力デバイス550の実施例のブロック図が示されている。実施形態では、音響出力デバイス550は、如何なる好適な音響出力デバイスとすることができる。例えば、音響出力デバイスは、
図1に示したテレビ114、ラジオ112又はモバイル・デバイス150とすることができる。しかしながら、音響出力デバイス550は、スマート・ウォッチ、モバイル・デバイス、スピーカ、音声コマンド・デバイス、コンピュータ・システム(例えば、ラップトップ、デスクトップなど)、又は他の如何なる好適な音響出力デバイスとすることができる。
【0098】
音響出力デバイス550は、音響出力を有し、かつハードウェア・モジュール、又は少なくとも1つのプロセッサ551上で実行するソフトウェア・ユニットである上述したコンポーネントの機能を実行するための回路を含む、少なくとも1つのプロセッサ551を有する如何なる形態でも良い。並列処理スレッドを動作させるマルチ・プロセッサは、コンポーネントのいくつか又はすべての機能の並列処理を可能とするために提供することができる。メモリ552は、少なくとも1つのプロセッサ551に対してコンピュータ命令553を提供するために構成することができる。
【0099】
音響出力デバイス550は、音響出力提供システム560の形態で、VCD(例えばVCD120又はVCD420)と通信を可能とするソフトウェア・コンポーネントを含む。音響出力デバイス550は、本機能を含ませるためのソフトウェア・アップデートを必要とすることができ、かつ音響出力デバイス550は、また、ユーザのホームWiFiネットワークといったVCDと同一のネットワークに接続されていることが必要とされる。
【0100】
0111
音響出力提供システム560は、音響出力デバイス550の音響出力をモニタするためのモニタリング・コンポーネント561と、バッファ563内の直近の音響出力を所定の期間バッファするためのバッファリング・コンポーネント562とを含むことができる。
【0101】
音響出力提供システム560は、問い合わせるVCDに対して状況応答を送付するための状況コンポーネント564を備え、音響出力デバイス550が現在音響出力を放出しているか否かを判断する。
【0102】
音響出力提供システム560は、音響出力デバイス550が現在音響出力を放出している場合に、VCDに対して音響ファイルを送付するための音響ファイル・コンポーネント565を含むことができる。送付される音響ファイルは、音響出力デバイス550のバッファ563からの直近にバッファされた音響出力とすることができる。
【0103】
図6を参照すると、本開示の実施形態に従う、VCDの近くにあるモバイル・デバイスで音声コマンドをフィルタリングするための実施例方法600を示すフロー図が示される(例えば、
図1のモバイル・デバイス150)。
【0104】
方法600は、ステップ605で開始し、通信をVCDと確立する(例えば
図1のVCD120又は
図4のVCD)。これがステップ605に示されている。通信は、VCDと、有線又は無線ネットワーク通信を含む如何なる好適なやり方ででも確立することができる。
【0105】
VCDデータは、その後VCDから受領される。これがステップ610に示されている。VCDデータは、VCDメモリ内に保持された、格納された遮断方向、音声認識データ、トリガ・ワード・データ、バックグラウンド・ノイズの音響特性(例えば、バックグラウンド・ノイズの振幅、ピッチなど)、バックグラウンド・ノイズに随伴するコンテキスト情報(例えば、バックグラウンド・ノイズに随伴するメタデータ)及び音響出力状態データ(例えば、付近の出力デバイスの音量/電源データ)を含む如何なるデータを含むことができる。
【0106】
0117
コマンドは、その後モバイル・デバイスに受領される。これがステップ615に示されている。コマンドは、トリガ・ワードの発声に応答して受領することができる。その後、モバイル・デバイスが方向分析能力を有しているか否かが判断される。これはステップ620に記載されている。モバイル・デバイスが方向分析能力を有している場合(例えば、モバイル・デバイスは、三角法を実行するように構成されていること)、その後コマンドが遮断方向から受領されたか否かの判断が行われる。これがステップ625に示されている。これは
図2のステップ256と実質的に同様にして達成することができる。コマンドが遮断方向から受領されていない場合、その後コマンドは、ステップ650で実行される。コマンドが遮断方向から受領された場合、その後コマンドが認識された音声の内にあるか否かの判断が行われる。これがステップ645に示されている。コマンドが認識された音声の内にあるか否かの決定は、
図2Bのステップ254と実質的に同様にして達成することができる。コマンドが認識された音声である場合、その後コマンドは、ステップ650で実行される。コマンドが認識された音声でない場合、その後コマンドは、無視される。これがステップ640に示されている。
【0107】
モバイル・デバイスが方向分析能力を有していないと判断された場合、その後、音が分析されて、バックグラウンド・ノイズ源の詳細と比較される。これがステップ630に示されている。ステップ610で受領されたVCDデータは、VCDが通常受領するバックグラウンド・ノイズの音響特性を含むことができる。バックグラウンド・ノイズの音響特性は、現在受領された音響データと比較して、一致するか否かが判断される。バックグラウンド・ノイズが類似するとの判断は、ステップ630の比較に基づいて完了される。これがステップ635に示されている。例えば、音響特性の周波数、振幅、トーンなどが、現在受領している音響の周波数、振幅、トーンなどに一致する場合、その後音響がバックグラウンド・ノイズに類似すると判断することができる。
【0108】
いくつかの実施形態では、コンテキスト情報(例えば、一日のうちの時間)が、バックグラウンド・ノイズが類似するか否かを判断する場合に考慮される。例えば、ステップ610で受領されたバックグラウンド・ノイズに随伴するメタデータは、現在モバイル・デバイスで受領している音響のメタデータと比較されて、バックグラウンド・ノイズが類似するか否かが判断される。いくつかの実施形態では、コンテキスト情報は、音響データに加えてバックグラウンド・ノイズが類似するか否かの判断に集合的に考慮されることができる。
【0109】
バックグラウンド・ノイズが類似するとの判断がされた場合(例えば、実質的に一致がある、これは閾値に基づくことができる)、その後コマンドは、ステップ640で無視される。バックグラウンド・ノイズが類似していないと判断された場合、その後ステップ645で、コマンドが認識された音声において受領されたか否かが判断される。コマンドが認識された音声の場合、その後、コマンドがステップ650で実行される。コマンドが認識された音声でない場合、その後、コマンドは、ステップ640で無視される。
【0110】
上述した操作は、如何なる順序で達成することができ、かつ上述したことには限定されない。追加的に、本開示の範囲内に依然として存在すれば、上述した操作のいくつか又は全てを実行することができ、また何れも実行しないことができる。
【0111】
図7は、本開示の実施形態に従い、モバイル・デバイスの位置でVCDをアップデートし、それを遮断方向に追加することを可能とする実施例方向のフロー図である。
【0112】
0123
方法700は、ステップ705から開始し、通信がVCDと確立される。バックグラウンド・ノイズの信号源を知らせるために、音響トーンがその後モバイル・デバイスから送信される。これが操作710に示されている。トーンは、周波数の如何なる振幅とすることができる。VCDは、その後、方向分析を行い、モバイル・デバイスの位置が遮断方向として格納される。これが操作715に示されている。方向分析は、上述の
図1~6に説明したように実行することができる。モバイル・デバイスは、その後位置を変更する。これが操作720に示されている。音響トーンは、その後潜在的なバックグラウンド・ノイズ源として新たな位置を通知するために再度放出される。これが操作725に示されている。コマンドが、その位置のモバイル・デバイスから受領されたか否かの判断が行われる(例えば、操作720)。
【0113】
コマンドは、その位置から受領された場合、その後コマンドは、無視される。これが操作735に示されている。コマンドがその位置から受領されていない場合、その後モバイル・デバイスが付近から去ったか否かの判断が行われる。これが操作740に示されている。モバイル・デバイスが付近から去ったか否かの判断は、VCDとモバイル・デバイスとの間の提供された通信リンクに基づいて達成することができる。いくつかの実施形態では、モバイル・デバイスが付近から去ったことの判断は、位置データ(例えば、モバイル・デバイスのグローバル・ポジショニング・システム(GPS)データに基づいて達成することができる。デバイスが付近を去ったとの判断がなされた場合、その後、遮断方向は、VCDのストレージから削除される。これが、操作745に示されている。デバイスがVCDの付近を離れていないと判断された場合、方法700は、操作730に戻り、VCDにおいてコマンドが連続的にモニタされる。
【0114】
上述した操作は、如何なる順序で完了することができ、かつ上述したことには限定されない。追加的に、本開示の範囲内に依然として存在すれば、上述した操作のいくつか又は全てを実行することができ、また何れも実行しないことができる。
【0115】
図8を参照すると、本開示の実施形態に従い、本明細書で開示する1つ又はそれ以上の方法、ツール、及びモジュール、及び如何なる関連する機能実施例コンピュータ・システム801(例えば、
図1のVCD120、
図4のVCD420、
図5の音響出力デバイス550)の高レベル・ブロック図が示されている(例えば、コンピュータの1つ又はそれ以上のプロセッサ回路又はコンピュータ・プロセッサを使用する)。いくつかの実施形態では、コンピュータ・システム801の主要なコンポーネントは、1つ又はそれ以上のCPU(複数でも良い)802と、メモリ・サブシステム804と、端末インタフェース812と、ストレージ・インタフェース814と、I/O(入/出力)デバイス・インタフェース816と、ネットワーク・インタフェース818とを含むことができ、これらの全ては、直接的に又は間接的にメモリ・バス803、I/Oバス808、及びI/Oバス・インタフェース・ユニット810を介してコンポーネント間通信のため直接又は間接的に通信可能に結合されている。
【0116】
0127
コンピュータ・システム801は、1つ又はそれ以上の汎用目的のプログラム可能な中央処理装置(CPUs)802A,802B,802C,及び802Dを含むことができ、これらを一般的にCPU802として参照する。いくつかの実施形態では、コンピュータ・システム801は、相対的に大きなシステムでは典型的なように、多数のプロセッサを含むことができるが、他の実施形態では、代替的に単一のCPUシステムとすることができる。各CPU802は、メモリ・サブシステム804内に格納された命令を実行することができ、かつ1つ又はそれ以上のオンボード・キャッシュを含むことができる。
【0117】
システムメモリ804は、揮発性メモリの形式で、ランダム・アクセス・メモリ(RAM)822又はキャッシュ・メモリ824といった、コンピュータ・システム可読な媒体を含むことができる。コンピュータ・システム801は、さらに他の取り外し可能/取り外し不可能、揮発性/不揮発性な、コンピュータ・システムのストレージ媒体を含むことができる。実施例としての目的のみにより、ストレージ・システム826は、取り外し不可能な、“ハードドライブ”といった不揮発性の磁性媒体との間で読み出し及び書き込みするために提供することができる。図示しないが、取り外し可能な不揮発性の磁気ディスク・ドライブ(例えば、“USBサムドライブ(商標)”又は“フロッピーディスク”(登録商標))との間で読み出し及び書き込みするための磁気ディスク・ドライブ又はCD-ROM、DVD-ROM、又は他の光学的媒体との間で読み出し及び書き込みするための光学的ディスク・ドライブを提供することができる。加えて、メモリ804は、例えば、フラッシュ・メモリのスティック・ドライブ又はフラッシュ・ドライブといったフラッシュ・メモリを含むことができる。メモリ・デバイスは、1つ又はそれ以上のデータ媒体インタフェースにより、メモリ・バス803に接続することができる。メモリ804は、種々の実施形態の機能を実行するように構成されたプログラム・モジュールのセット(例えば少なくとも1つ)を含む、少なくとも1つのプログラム製品を含むことができる。
【0118】
1つ又はそれ以上のプログラム/ユーティリティ828は、それぞれ少なくとも1つの、メモリ804内に格納されたプログラム・モジュール830を有する。プログラム/ユーティリティ828は、ハイパバイザ(また、仮想マシン・モニタとして参照される)と、1つ又はそれ以上のオペレーティング・システムと、1つ又はそれ以上のアプリケーション・プログラムと、他のプログラム・モジュールと、プログラム・データとを含むことができる。オペレーティング・システム、1つ又はそれ以上のアプリケーション・プログラム、他のプログラム・モジュール及びプログラム・データ又はそれらのいくつかの組み合わせは、それぞれネットワーク環境の実装を含むことができる。プログラム828又はプログラム・モジュール830又はそれら両方は、一般に種々の実施形態の機能又は方法論を実行する。
【0119】
いくつかの実施形態では、コンピュータ・システム801のプログラム・モジュール830は、音声コマンド区別モジュールを含む。音声コマンド区別モジュールは、1つ又はそれ以上の音響出力デバイスからのバックグラウンド・ノイズの1つ又はそれ以上の遮断方向にアクセスするように構成することができる。音声コマンド区別モジュールは、さらに、音声入力を受領し、かつこれが遮断方向から受領されたか否かを判断するように構成することができる。音声コマンド区別モジュールは、音響デバイスの状態を問い合せ、それが音響を発生しているか否かを判断するように構成することができる。音声区別モジュールは、その後音響サンプルと、音声コマンドとを比較し、かつ音響サンプルが音声コマンドと実質的に一致する場合、その音声コマンドを無視するように構成することができる。
【0120】
実施形態では、コンピュータ・システム801のプログラム・モジュール830は、音声コマンド・フィルタリング・モジュールを含む。音声コマンド・フィルタリング・モジュールは、VCDデータをVCDから受領するように構成することができる。音声コマンド・モジュールは、音声コマンドがVCDデータ内に記述された遮断方向から受領されたか否かを判断するように構成することができる。音声コマンドがVCDデータ内に記述された遮断方向から受領された場合、その後音声コマンドは、無視される。
【0121】
図8のメモリ・バス803は、CPUs802、メモリ・サブシステム804及びI/Oバス・インタフェース810との間で直接的な通信経路を提供する単一のバス構造を提供するが、メモリ・バス803は、いくつかの実施形態では、多数の異なるバス又は通信経路を含むことができ、これは階層的なポイント-ツウ-ポイント、スター型、又はウェブ構成、多重の階層的バス、並列及び冗長バス、又は他の如何なる適切なタイプの構成のリンクといった、種々の形態の如何なるものにおいて配置することができる。さらに、I/Oバス・インタフェース810及びI/Oバス808は、それぞれ単一のユニットとして示されているが、コンピュータ・システム801は、いくつかの実施形態では、多数のI/Oバス・インタフェース・ユニット810、多数のI/Oバス808、又はそれらの両方を含むことができる。さらに、種々のI/Oデバイスへと走る種々の通信経路からI/Oバス808が分岐する、多数のI/Oインタフェース・ユニットが示されているが、他の実施形態では、I/Oデバイスのいくつか又は全部が、1つ又はそれ以上のシステムI/Oバスに接続されていても良い。
【0122】
いくつかの実施形態では、コンピュータ・システム801は、マルチ・ユーザのコンピュータ・システム、シングル・ユーザのコンピュータ・システム又はサーバ・コンピュータ又はユーザ・インタフェースが少数又は全くないが他のコンピュータ・システム(複数のクライアント)から要求を受領する類似のデバイスとすることができる。さらに、いくつかの実施形態では、コンピュータ・システム801は、デスクトップ・コンピュータ、ポータブル・コンピュータ、ラップトップ・コンピュータ、タブレット・コンピュータ、ポケット・コンピュータ、電話、スマートホン、ネットワーク・スイッチ又はルータ、又は他の如何なるタイプの電子デバイスとして実装することができる。
【0123】
図8は、例示的なコンピュータ・システム801のそれぞれの例示的な主要コンポーネントを図示することを意図する。いくつかの実施形態では、しかしながら、個々のコンポーネントは、
図8に示すよりも、より大規模又はより小規模を有することができ、
図8に示されたもの又はこれらに加えた以外のコンポーネントが存在することができ、かつそのようなコンポーネントの個数、タイプ、及び構成は変更可能である。
【0124】
本開示は、クラウド・コンピューティングについての詳細を含むが、本明細書内で参照した教示は、クラウド・コンピューティング環境に限定されることはない。むしろ、本開示の環境は、現在知られ、又は将来開発される他の如何なるタイプのコンピューティング環境との組み合わせにおいても実装することができる。
【0125】
クラウド・コンピューティングは、最小限の管理労力又はサービス提供者との交流をもって、迅速に提供及び開放構成可能なコンピューティング資源(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン及びサービス)の共用されるプールにアクセスするための利便性のある、オンデマンドのネットワークアクセスのためのサービス提供のモデルである。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービスモデル、及び少なくとも4つの配置モデルを含むことができる。
【0126】
特徴は以下のとおりである:
オンデマンド・セルフサービス:クラウドのコンシューマは、サーバ時間、及びネットワーク・ストレージといったコンピューティング能力を、サービスの提供者との人間的交流を必要とすることなく必要なだけ自動的に一方向的に提供される。
広範なネットワークアクセス:能力は、ネットワーク上で利用可能であり、かつ異なったシン又はシッククライアント・プラットフォーム(例えば、モバイルフォン、ラップトップ及びPDA)による利用を促す標準的な機構を通してアクセスされる。
リソースの共用:提供者のコンピューティング資源は、マルチテナント・モデルを使用し、動的に割当てられる必要に応じて再割り当てられる異なった物理的及び仮想化資源と共に多数の消費者に提供するべく共用される。コンシューマは概ね提供される資源の正確な位置(例えば、国、州、又はデータセンタ)に関する制御又は知識を有さず、抽象化の高度の階層において位置を特定することができるというように、位置非依存の感覚が存在する。
迅速な弾力性:機能は、迅速かつ弾力的に、場合によっては自動的に供給され素早くスケールアウトし、迅速に解放して素早くスケールインすることが可能である。コンシューマにとっては、供給のために利用可能な機能は、多くの場合、制限がないように見え、いつでも任意の量で購入することができる
計測されるサービス:クラウド・システムは、サービスの種類(例えば、ストレージ、処理、帯域幅、及びアクティブ・ユーザ・アカウント)に適したいくつかの抽象化レベルで計量機能を活用することによって、リソースの使用を自動的に制御し、最適化する。リソース使用量を監視し、制御し、報告することで、使用されているサービスのプロバイダ及びコンシューマの両方に対して透明性を提供することができる。
【0127】
サービスモデルは、以下のとおりである:
ソフトウェア・アズ・ア・サービス(SaaS):コンシューマに提供される機能は、クラウド・インフラストラクチャ上で実行されるプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザ(例えば、ウェブベースの電子メール)のようなシン・クライアント・インターフェースを通じて、種々のクライアント・デバイスからアクセス可能である。コンシューマは、限定されたユーザ固有のアプリケーション構成設定を除いて、ネットワーク、サーバ、オペレーティング・システム、ストレージ、又は個々のアプリケーションの機能も含む、基盤となるクラウド・インフラストラクチャを管理又は制御することはない。
プラットフォーム・アズ・ア・サービス(PaaS):コンシューマに提供される能力は、プロバイダがサポートするプログラミング言語及びツールを用いて作成された、コンシューマが作成又は獲得したアプリケーションを、クラウド・インフラストラクチャ上に配置することである。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、又はストレージを含む、基盤となるクラウド・インフラストラクチャを管理又は制御することはないが、配置されたアプリケーションを制御し、可能であればアプリケーション・ホスティング環境の構成を制御する。
インフラストラクチャ・アズ・ア・サービス(IaaS):
コンシューマに提供される機能は、処理、ストレージ、ネットワーク、及びその他の基本的なコンピューティング・リソースの提供であり、コンシューマは、オペレーティング・システム及びアプリケーションを含むことができる任意のソフトウェアを配置し、実行させることが可能である。コンシューマは、基盤となるクラウド・インフラストラクチャを管理又は制御することはないが、オペレーティング・システム、ストレージ、配置されたアプリケーションの制御を有し、可能であれば選択ネットワーキング・コンポーネント(例えば、ホストのファイアウォール)の限定的な制御を有する。
【0128】
配置モデルは、以下の通りである。
プライベート・クラウド:クラウド・インフラストラクチャは、1つの組織のためだけに動作する。これは、その組織又は第三者によって管理することができオン・プレミス又はオフ・プレミスで存在することができる。
コミュニティ・クラウド:クラウド・インフラストラクチャは、いくつかの組織によって共有され、共通の利害関係(例えば、任務、セキュリティ要件、ポリシー、及びコンプライアンスの考慮事項)を有する特定のコミュニティをサポートする。これは、それらの組織又は第三者によって管理することができ、オン・プレミス又はオフ・プレミスに存在することができる。
パブリック・クラウド:クラウド・インフラストラクチャは、公衆又は大きな産業グループが利用可能できるようにされており、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:クラウド・インフラストラクチャは、2つ又はそれより多いクラウド(プライベート、コミュニティ、又はパブリック)を組み合わせたものであり、これらのクラウドは、固有のエンティティのままであるが、データ及びアプリケーションのポータビリティを可能にする標準化技術又は専有技術によって互いに結合される(例えば、クラウド間の負荷バランスのためのクラウド・バースティング)。
【0129】
クラウド・コンピューティング環境は、無国籍性、粗結合性、モジュール性、及び意味的相互運用性に焦点を合わせたサービス指向のものである。クラウド・コンピューティングの心臓部において、相互接続された複数のノードを含むものがインフラストラクチャである。
【0130】
図9は、例示的なクラウド・コンピューティング環境50を示す。図示するように、クラウド・コンピューティング環境50は、1つ又はそれ以上のクラウド・コンピューティング・ノード10を含み、それらと共にクラウド・コンシューマにより使用される例えばパーソナル・デジタル・アシスタント(PDA)(例えば,VCD120又はVCD420)又はセルラ電話54A(例えばモバイル・デバイス150)、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、又は自動車コンピュータ・システム54N又はこれらの組合せといったローカル・コンピューティング・デバイスが通信する。ノード10は、互いに通信することができる。これらは、上述したプライベート、コミュニティ、パブリック、又はハイブリッド・クラウド、又はそれらの組合せといった、1つ又はそれ以上のネットワーク内で、物理的又は仮想的にグループ化することができる(不図示)。これは、クラウド・コンピューティング環境50が、クラウド・コンシューマがローカルなコンピューティング・デバイス上のリソースを維持する必要を無くするための、インフラストラクチャ、プラットホーム、又はソフトウェア・アズ・ア・サービスを提供することを可能とする。
図9に示すコンピューティング・デバイス54A-Nのタイプは、例示を意図するためのみのものであり、コンピューティング・ノード10及びクラウド・コンピューティング環境50は、任意のタイプのネットワーク又はアドレス可能なネットワーク接続(例えばウェブ・ブラウザ)、又はそれらの両方を通じて、いかなるタイプのコンピュータ化デバイスとも通信することができることが理解される。
【0131】
ここで、
図10を参照すると、
図9のクラウド・コンピューティング環境50により提供される機能的抽象レイヤのセットが示される。予め、
図10に示したコンポーネント、レイヤ、及び機能は、例示することのみを意図したものであり、本発明の実施形態は、これらに限定されることは無いことは理解されるべきである。図示したように、後述するレイヤ及び対応する機能が提供される。
【0132】
ハードウェア及びソフトウェアレイヤ60は、ハードウェア及びソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例としては、メインフレーム61;RISC(縮小命令セットコンピュータ)アーキテクチャに基づく複数のサーバ62;複数のサーバ63;複数のブレード・サーバ64;複数のストレージ・デバイス65;及びネットワーク及びネットワーキング・コンポーネント66を含むことができる。いくつかの実施形態ではソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67及びデータベース・ソフトウェア68を含む。
【0133】
可視化レイヤ70は、それから後述する仮想エンティティの実施例が提供される抽象レイヤ;仮想サーバ71;仮想ストレージ72;仮想プライベート・ネットワークを含む仮想ネットワーク73;仮想アプリケーション及びオペレーティング・システム74;及び仮想クライアント75を提供する。
【0134】
1つの実施例では、マネージメント・レイヤ80は、下記の機能を提供することができる。リソース提供部81は、コンピューティング資源及びクラウド・コンピューティング環境内でタスクを実行するために用いられる他の資源の動的獲得を提供する。計測及び価格設定部82は、クラウド・コンピューティング環境内で資源が使用されるとコストの追跡を提供すると共に、これらの資源の消費に対する課金又は請求を提供する。1つの実施例では、これら資源としてはアプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティ部は、クラウト・コンシューマ及びタスクの同定及び認証と共にデータ及び他の資源の保護を提供する。ユーザ・ポータル部83は、コンシューマに対するクラウド・コンピューティング環境及びシステム・アドミニストレータへのアクセス性を提供する。サービスレベル・マネージメント部84は、クラウド・コンピューティング資源の割り当て及び管理を提供し、必要なサービス・レベルに適合させる。サービス・レベル・アグリーメント(SLA)プランニング・フルフィルメント部85は、SLAにしたがって将来的な要求が要求されるクラウド・コンピューティング資源の事前準備を行うと共にその獲得を行う。
【0135】
ワークロード・レイヤ90は、クラウド・コンピューティング環境を利用するための機能の例示を提供する。このレイヤによって提供されるワークロード及び機能の例としては、マッピング及びナビゲーション91;ソフトウェア開発及びライフタイム・マネージメント92;仮想教室教育伝達93;データ分析処理94;トランザクション・プロセッシング95;及び音声コマンド・プロセッシング96を含むことができる。
【0136】
本明細書でより詳細に論じたように、本明細書で説明した方法の実施形態のいくつかの操作のいくつか又は全部は、交互的な順序で実行することができるか、又は全部が実行されなくとも良く、さらに多数の操作は、同時的に又はより大規模なプロセスの内部として発生することができる。
【0137】
本発明の開示は、システム、方法、又はコンピュータ・プログラム製品又はそれらの組み合わせとすることができる。コンピュータ・プログラム製品は、それ上に、プロセッサに対して本開示の特徴を実行させるためのコンピュータ可読なプログラム命令を有する、コンピュータ可読な記録媒体(又は複数の媒体)を含む。
【0138】
コンピュータ可読な記録媒体は、命令実行デバイスが使用するための複数の命令を保持し格納することができる有形のデバイスとすることができる、コンピュータ可読な媒体は、例えば、これらに限定されないが、電気的記録デバイス、磁気的記録デバイス、光学的記録デバイス、電気磁気的記録デバイス、半導体記録デバイス又はこれらのいかなる好ましい組み合わせとすることができる。コンピュータ可読な記録媒体のより具体的な実施例は、次のポータブル・コンピュータ・ディスク、ハードディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリー・メモリ(ROM)、消去可能なプログラマブル・リード・オンリー・メモリ(EPROM又はフラッシュ・メモリ(登録商標))、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リード・イオンリー・メモリ(CD-ROM)、デジタル多目的ディスク(DVD)、メモリ・スティック、フロッピー・ディスク(登録商標)、パンチ・カード又は命令を記録した溝内に突出する構造を有する機械的にエンコードされたデバイス、及びこれらの好ましい如何なる組合せを含む。本明細書で使用するように、コンピュータ可読な記録媒体は、ラジオ波又は他の自由に伝搬する電磁波、導波路又は他の通信媒体(例えば、光ファイバ・ケーブルを通過する光パルス)といった電磁波、又はワイヤを通して通信される電気信号といったそれ自体が一時的な信号として解釈されることはない。
【0139】
本明細書において説明されるコンピュータ・プログラムは、コンピュータ可読な記録媒体からそれぞれのコンピューティング/プロセッシング・デバイスにダウンロードでき、又は例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク又はワイヤレス・ネットワーク及びそれからの組み合わせといったネットワークを介して外部コンピュータ又は外部記録デバイスにダウンロードすることができる。ネットワークは、銅通信ケーブル、光通信ファイバ、ワイヤレス通信ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ及びエッジ・サーバ又はこれらの組み合わせを含むことができる。それぞれのコンピューティング/プロセッシング・デバイスにおけるネットワーク・アダプタ・カード又はネットワーク・インタフェースは、ネットワークからコンピュータ可読なプログラム命令を受領し、このコンピュータ可読なプログラム命令を格納するためにそれぞれのコンピューティング/プロセッシング・デバイス内のコンピュータ可読な記録媒体内に転送する。
【0140】
本発明の操作を実行するためのコンピュータ可読なプログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械語命令、マシン依存命令、マイクロ・コード、ファームウェア命令、状態設定データ、集積回路のための構成データ、又は1つ又はそれ以上の、Smalltalk(登録商標)、C++などのオブジェクト指向プログラミング言語、“C”プログラミング言語又は類似のプログラム言語といった手続き型プログラミング言語を含むプログラミング言語のいかなる組合せにおいて記述されたソース・コード又はオブジェクト・コードのいずれかとすることができる。コンピュータ可読なプログラム命令は、全体がユーザ・コンピュータ上で、部分的にユーザ・コンピュータ上でスタンドアローン・ソフトウェア・パッケージとして、部分的にユーザ・コンピュータ上で、かつ部分的にリモート・コンピュータ上で、又は全体がリモート・コンピュータ又はサーバ上で実行することができる。後者のシナリオにおいて、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)を含むいかなるタイプのネットワークを通してユーザ・コンピュータに接続することができ、又は接続は、外部コンピュータ(例えばインターネット・サービス・プロバイダを通じて)へと行うことができる。いくつかの実施形態では、例えばプログラマブル論理回路、フィールド・プログラマブル・ゲートアレイ(FPGA)、又はプログラマブル論理アレイ(PLA)を含む電気回路がコンピュータ可読なプログラム命令を、コンピュータ可読なプログラム命令の状態情報を使用して、本発明の特徴を実行するために電気回路をパーソナライズして実行することができる。
【0141】
本明細書で説明した本発明の特徴を、本発明の実施形態にしたがい、フローチャート命令及び方法のブロック図、又はそれらの両方、装置(システム)、及びコンピュータ可読な記録媒体及びコンピュータ・プログラムを参照して説明した。フローチャートの図示及びブロック図又はそれら両方及びフローチャートの図示におけるブロック及びブロック図、又はそれらの両方のいかなる組合せでもコンピュータ可読なプログラム命令により実装することができることを理解されたい。
【0142】
コンピュータ可読なプログラム命令は、汎用目的のコンピュータ、特定目的のコンピュータ、または他のプロセッサ又は機械を生成するための他のプログラマブル・データ・プロセッシング装置に提供することができ、コンピュータのプロセッサ又は他のプログラマブル・データ・プロセッシング装置による実行がフローチャート及びブロック図のブロック又は複数のブロック又はこれらの組み合わせで特定される機能/動作を実装するための手段を生成する。コンピュータ、プログラマブル・データ・プロセッシング装置及び他の装置又はこれらの組み合わせが特定の仕方で機能するように指令するこれらのコンピュータ可読なプログラム命令は、またコンピュータ可読な記録媒体に格納することができ、その内に命令を格納したコンピュータ可読な記録媒体は、フローチャート及びブロック図のブロック又は複数のブロック又はこれらの組み合わせで特定される機能/動作の特徴を実装する命令を含む製造品を構成する。
【0143】
コンピュータ可読なプログラム命令は、またコンピュータ、他のプログラマブル・データ・プロセッシング装置、又は他のデバイス上にロードされ、コンピュータ、他のプログラマブル装置、又は他のデバイス上で操作ステップのシリーズに対してコンピュータ実装プロセスを生じさせることで、コンピュータ、他のプログラマブル装置又は他のデバイス上でフローチャート及びブロック図のブロック又は複数のブロック又はこれらの組み合わせで特定される機能/動作を実装させる。
【0144】
図のフローチャート及びブロック図は、本発明の種々の実施形態にしたがったシステム、方法及びコンピュータ・プログラムのアーキテクチャ、機能、及び可能な実装操作を示す。この観点において、フローチャート又はブロック図は、モジュール、セグメント又は命令の部分を表すことかでき、これらは、特定の論理的機能(又は複数の機能)を実装するための1つ又はそれ以上の実行可能な命令を含む。いくつかの代替的な実装においては、ブロックにおいて記述された機能は、図示した以外で実行することができる。例えば、連続して示された2つのブロックは、含まれる機能に応じて、実際上1つのステップとして実行され、同時的、実質的に同時的に、部分的又は完全に一時的に重ね合わされた仕方で実行することができ、又は複数のブロックは、時として逆の順番で実行することができる。またブロック図及びフローチャートの図示、又はこれらの両方及びブロック図中のブロック及びフローチャートの図示又はこれらの組み合わせは、特定の機能又は動作を実行するか又は特定の目的のハードウェア及びコンピュータ命令を実行する特定目的のハードウェアに基づいたシステムにより実装することができることを指摘する。
【0145】
本明細書において使用する用語は、特定の実施形態を記述する目的のためのものであり、本開示を限定することを意図するものではない。本明細書で使用するように、単数形、“a”、“an”及び“the”は、文脈が明らかにそれ以外を示さない限り、同様に複数形態を含むことを意図する。さらに、用語、含む“includes”、含んでいる“including”、が本明細書において使用される場合、宣言された特徴、整数、ステップ、操作、要素、又はコンポーネント又はこれらの組み合わせの存在を特定するが、1つ又はそれ以上の他の特徴、整数、ステップ、操作、要素、コンポーネント又はグループ又はそれらの組み合わせの存在又は追加を除外するものでないことについて理解されるべきである。種々の実施形態の例示的な実施形態についての上述した詳細な説明において、図面(同様の要素には同様の符号である。)を共に参照したが、符号は、その一部を構成し、かつ図面中は、種々の実施形態を実施することができる特定の例示的実施形態を説明する目的で示したものである。これらの実施形態は、当業者が実施形態を実施することを可能とするため十分な詳細において記載されるが、他の実施形態は論理的、機械的、電気的、及び他の変更が種々の実施形態の範囲から逸脱せずに成すことができる。上述の説明、多数の特定の細部は、実施形態の全体の理解を提供するために示したものである。しかしながら、種々の実施形態は、これらの特定の細部無くして実施することができる。他の実施例、周知の回路、構造、及び技術は、実施形態を不明確としないため、詳細には示されていない。
【0146】
本明細書内の用語“実施形態”の異なる実施例は、同一の実施形態を参照するばかりではなく、同一の実施形態を参照する必然性は無い。本明細書で図示又は説明した如何なるデータ及びデータ構造でも、例示のみのものであり、他の実施形態、異なるデータ量、データのタイプ、フィールド、フィールドの数及びタイプ、フィールド名、列、行、エントリの数及びタイプ、又はデータの組織化が使用できる。加えて、如何なるデータでも論理と組み合わせることができるので、分離したデータ構造は必要ではない。上述の詳細な説明は、したがって、限定的な感覚で受け取られるものではない。
【0147】
本開示の種々の実施形態の説明は、例示の目的のために提示されたが、開示された実施形態への排他又は限定を意図するものではない。多くの変更例又は変形例は、本開示の範囲及び精神から逸脱することなく、当業者において自明である。本明細書で使用する用語は、本実施形態の原理、実用的用途、又は市場において見出される技術を超える技術的改善を最良に説明するため、又は本明細書において開示された実施形態を当業者の他の者が理解できるようにするために選択したものである。
【0148】
本開示を特定の実施形態の用語において説明してきたが、それらの代替及び変更は、当業者において自明であろう。したがって、後述する請求の範囲が本開示の範囲内に収まる、そのような代替及び変更を包含するものと解釈されることを意図する。