(57)【要約】【課題】音声認識とも呼ばれる人が話している言葉を認識するためのシステムおよび技法を提供する。【解決手段】ホットワードトリガ抑制のための方法、システム、およびコンピュータ記憶媒体上に符号化されたコンピュータプログラムを含む装置について開示する。一態様では、本方法は、コンピューティングデバイスのマイクロフォンによって、メディアコンテンツのアイテムの再生に対応するオーディオを受信するアクションを含み、オーディオは、コンピューティングデバイス上で動作を実施することに関連付けられた、あらかじめ定義されたホットワードの発声を含む。アクションは、オーディオを処理することをさらに含む。アクションは、オーディオを処理したことに応答して、コンピューティングデバイス上での動作の実施を抑制することをさらに含む。【選択図】図１
2020034941.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実装方法であって、
コンピューティングデバイスのマイクロフォンによって、メディアコンテンツのアイテムの再生に対応するオーディオを受信するステップであって、前記オーディオは、前記コンピューティングデバイス上で動作を実施することに関連付けられた、あらかじめ定義されたホットワードの発声を含む、ステップと、
前記オーディオを処理するステップと、
前記オーディオを処理したことに応答して、前記コンピューティングデバイス上での前記動作の実施を抑制するステップと
を含む、方法。
【請求項２】
1つまたは複数のコンピューティングデバイスに、前記コンピューティングデバイス上での前記動作の実施が抑制されたという指示を提供するステップを含む、請求項1に記載の方法。
【請求項３】
前記オーディオデータを処理するステップは、
前記オーディオの部分のオーディオフィンガープリントを生成するステップと、
前記オーディオフィンガープリントを1つまたは複数のオーディオフィンガープリントと比較するステップと、
前記オーディオフィンガープリントを前記1つまたは複数のオーディオフィンガープリントと比較したことに基づいて、前記オーディオフィンガープリントが、前記1つまたは複数のオーディオフィンガープリントのうちの少なくとも1つに対応すると判断するステップとを含む、請求項1または2に記載の方法。
【請求項４】
前記オーディオフィンガープリントを1つまたは複数のオーディオフィンガープリントと比較するステップは、
前記1つまたは複数のオーディオフィンガープリントを記憶するコンピューティングデバイスに、前記オーディオフィンガープリントを提供するステップと、
前記1つまたは複数のオーディオフィンガープリントを記憶する前記コンピューティングデバイスに、前記オーディオフィンガープリントを前記1つまたは複数のオーディオフィンガープリントと比較するための要求を提供するステップと、
前記1つまたは複数のオーディオフィンガープリントを記憶する前記コンピューティングデバイスから、前記オーディオフィンガープリントを前記1つまたは複数のオーディオフィンガープリントと比較したことに基づく比較データを受信するステップと
を含む、請求項3に記載の方法。
【請求項５】
前記オーディオを処理するステップは、前記オーディオに対して音声認識を実施せずに前記オーディオを処理するステップを含む、請求項1から4のいずれか一項に記載の方法。
【請求項６】
前記コンピューティングデバイスは、前記オーディオを受信し、前記オーディオを処理し、かつ前記動作の実施を抑制する間、低電力/スリープ/非アクティブ状態に留まる、請求項1から5のいずれか一項に記載の方法。
【請求項７】
前記オーディオを受信する間、前記コンピューティングデバイスのディスプレイに、前記コンピューティングデバイスが前記オーディオを受信中であることを示すデータを提供するステップを含む、請求項1から6のいずれか一項に記載の方法。
【請求項８】
前記オーディオを処理する間、前記コンピューティングデバイスのディスプレイに、前記コンピューティングデバイスが前記オーディオを処理中であることを示すデータを提供するステップを含む、請求項1から7のいずれか一項に記載の方法。
【請求項９】
前記オーディオを処理したことに応答して、
前記コンピューティングデバイスのディスプレイを非アクティブ化するステップか、
前記コンピューティングデバイスを低電力/スリープ/非アクティブ状態に戻すステップか、または
前記コンピューティングデバイスのディスプレイに、前記コンピューティングデバイスが、前記コンピューティングデバイス上での前記動作の実施を抑制したことを示すデータを提供するステップ
を含む、請求項1から8のいずれか一項に記載の方法。
【請求項１０】
ユーザによって選択されると、前記コンピューティングデバイス上で前記動作を実施するための命令を前記コンピューティングデバイスに提供する選択可能オプションを出力用に提供するステップを含む、請求項1から9のいずれか一項に記載の方法。
【請求項１１】
前記選択可能オプションの選択を検出するステップと、
前記あらかじめ定義されたホットワードの発声を含む、続いて受信されたオーディオを処理するためのプロセスを調節するステップと
を含む、請求項10に記載の方法。
【請求項１２】
前記オーディオを処理するステップは、前記あらかじめ定義されたホットワードの前の、前記オーディオの部分を処理するステップを含む、請求項1から11のいずれか一項に記載の方法。
【請求項１３】
前記オーディオを処理するステップは、前記あらかじめ定義されたホットワードに続く、前記オーディオの部分を処理するステップを含む、請求項1から12のいずれか一項に記載の方法。
【請求項１４】
前記オーディオが前記あらかじめ定義されたホットワードの発声を含むと判断するステップを含み、
前記オーディオは、前記オーディオが前記あらかじめ定義されたホットワードの発声を含むと判断したことに基づいて処理される、
請求項1から13のいずれか一項に記載の方法。
【請求項１５】
前記オーディオが、前記あらかじめ定義されたホットワードの発声を含むと判断するステップは、
前記オーディオに対して音声認識を実施せずに、前記オーディオが前記あらかじめ定義されたホットワードの発声を含むと判断するステップを含む、請求項14に記載の方法。
【請求項１６】
1つまたは複数のコンピュータと、命令を記憶する1つまたは複数の記憶デバイスとを備え、前記1つまたは複数の記憶デバイスは、前記1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、
コンピューティングデバイスのマイクロフォンによって、メディアコンテンツのアイテムの再生に対応するオーディオを受信することであって、前記オーディオは、前記コンピューティングデバイス上で動作を実施することに関連付けられた、あらかじめ定義されたホットワードの発声を含む、受信することと、
前記オーディオを処理することと、
前記オーディオを処理したことに応答して、前記コンピューティングデバイス上での前記動作の実施を抑制することと
を含む動作を実施させるように動作可能である、システム。
【請求項１７】
1つまたは複数のコンピューティングデバイスに、前記コンピューティングデバイス上での前記動作の実施が抑制されたという指示を提供することを含む、請求項16に記載のシステム。
【請求項１８】
前記オーディオデータを処理することは、
前記オーディオの部分のオーディオフィンガープリントを生成することと、
前記オーディオフィンガープリントを1つまたは複数のオーディオフィンガープリントと比較することと、
前記オーディオフィンガープリントを前記1つまたは複数のオーディオフィンガープリントと比較したことに基づいて、前記オーディオフィンガープリントが、前記1つまたは複数のオーディオフィンガープリントのうちの少なくとも1つに対応すると判断することと
を含む、請求項16または17に記載のシステム。
【請求項１９】
前記オーディオフィンガープリントを1つまたは複数のオーディオフィンガープリントと比較することは、
前記1つまたは複数のオーディオフィンガープリントを記憶するコンピューティングデバイスに、前記オーディオフィンガープリントを提供することと、
前記1つまたは複数のオーディオフィンガープリントを記憶する前記コンピューティングデバイスに、前記オーディオフィンガープリントを前記1つまたは複数のオーディオフィンガープリントと比較するための要求を提供することと、
前記1つまたは複数のオーディオフィンガープリントを記憶する前記コンピューティングデバイスから、前記オーディオフィンガープリントを前記1つまたは複数のオーディオフィンガープリントと比較したことに基づく比較データを受信することと
を含む、請求項18に記載のシステム。
【請求項２０】
1つまたは複数のコンピュータによって実行可能な命令を備えるソフトウェアを記憶する非一時的コンピュータ可読媒体であって、前記命令は、そのように実行されると、前記1つまたは複数のコンピュータに、
コンピューティングデバイスのマイクロフォンによって、メディアコンテンツのアイテムの再生に対応するオーディオを受信することであって、前記オーディオは、前記コンピューティングデバイス上で動作を実施することに関連付けられた、あらかじめ定義されたホットワードの発声を含む、受信することと、
前記オーディオを処理することと、
前記オーディオを処理したことに応答して、前記コンピューティングデバイス上での前記動作の実施を抑制することと
を含む動作を実施させるように動作可能である、非一時的コンピュータ可読媒体。
【請求項２１】
コンピュータ実行可能命令を備えるコンピュータプログラムであって、前記命令は、少なくとも1つのコンピューティング装置によって実行されると、請求項1から15のいずれか一項に記載の方法を実施させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は概して、音声認識とも呼ばれる人が話している言葉を認識するためのシステムおよび技法に関する。
【背景技術】
【０００２】
音声対応ホームまたは他の環境、つまりユーザが問合せまたはコマンドを声に出して話すだけでよく、コンピュータベースのシステムが問合せを受け止め、答え、かつ/またはコマンドを実施させる環境の現実性は我々次第である。音声対応環境(たとえば、家庭、職場、学校など)は、環境の様々な部屋またはエリア中に分散された被接続マイクロフォンデバイスのネットワークを使用して実装することができる。そのような、マイクロフォンのネットワークを通して、ユーザには、コンピュータまたは他のデバイスが自分の前または付近にさえもある必要なく、本質的には環境のどこからでもシステムに口頭で問い合わせる力がある。システムに向けられていない周囲の環境において行われた発声を拾うのを避けるためにホットワードが使用される。ホットワード(「注目ワード」または「ボイスアクション始動コマンド」とも呼ばれる)とは、システムの注目を呼び起こすために話される所定の単語または用語である。システムが、ユーザがホットワードを話したことを検出すると、システムは、さらなるユーザコマンドを受信するためのレディ状態に入る。
【発明の概要】
【課題を解決するための手段】
【０００３】
音声対応システムにおいて、システムとのユーザの対話法は、排他的ではないとしても主にボイス入力を用いるように設計される。システムは、受信されたオーディオに含まれるホットワードを拾うと、潜在的にアクティブ化されるが、ホットワードがユーザによってシステムへ向けられていないときを見分ける何らかの方法を有さなければならない。たとえば、テレビジョンで放送されるコマーシャルが、ホットワードを含む場合もあり、続いてホットワード検出を稼動している付近のデバイスをトリガする場合もある。デバイスは次いで、アクティブ化され、続いて生じるコマンドもしくは問合せを待ち受けて、ホットワードに続くコマンドもしくは問合せに応答し、かつ/またはコマンドもしくは問合せに基づいてデバイス上で動作を実施してもよい。これが起こるのを防止する一方法は、ホットワードを含むオーディオが、記録されたメディアの一部であることを認識するのに、およびコンピューティングデバイス上での動作の実施を抑制するのに、オーディオフィンガープリント技術を使用するものである。このようにして、システムは、コンピューティングデバイスの不適切または望まれないアクティブ化を防止することによって、より効率的に動作してもよい。たとえば、コンピューティングデバイスにおける電力消費および/または計算リソースの使用が削減される場合がある。
【０００４】
本明細書において記載する主題の1つの発明的態様によると、コンピューティングデバイスが、コンピューティングデバイス上で動作を実施することに関連付けられた、あらかじめ定義されたホットワードの発声を含むオーディオを受信する。コンピューティングデバイスは、オーディオがメディアコンテンツのアイテムの再生に対応するかどうかを判断する。コンピューティングデバイスは次いで、コンピューティングデバイス上での動作の実施を抑制する。
【０００５】
概して、本明細書に記載する主題の別の発明的態様は、メディアコンテンツのアイテムの再生に対応するオーディオを受信するアクションであって、オーディオは、コンピューティングデバイス上で動作を実施することに関連付けられた、あらかじめ定義されたホットワードの発声を含む、アクションと、オーディオを処理するアクションと、オーディオを処理したことに応答して、コンピューティングデバイス上での動作の実施を抑制するアクションとを含む方法で具現化されてもよい。
【０００６】
本明細書に記載する主題の別の態様は、メディアコンテンツのアイテムの再生に対応するオーディオを受信するアクションであって、オーディオは、コンピューティングデバイス上で動作を実施することに関連付けられた、あらかじめ定義されたホットワードの発声を含む、アクションと、オーディオに対応するオーディオデータを提供するアクションと、コンピューティングデバイス上での動作の実施を抑制するための命令を受信するアクションと、コンピューティングデバイス上での動作の実施を抑制するための命令を受信したことに応答して、コンピューティングデバイス上での動作の実施を抑制するアクションとを含む方法で具現化されてもよい。
【０００７】
これらおよび他の実施形態は各々、オプションで以下の特徴のうちの1つまたは複数を含むことができる。いくつかの態様では、オーディオを処理するアクションは、オーディオに対して音声認識を実施せずにオーディオを処理することを含む。アクションは、1つまたは複数のコンピューティングデバイスに、コンピューティングデバイス上での動作の実施が抑制されているという指示を提供することをさらに含む。アクションは、オーディオの部分のオーディオフィンガープリントを生成することと、オーディオフィンガープリントを1つまたは複数のオーディオフィンガープリントと比較することと、オーディオフィンガープリントを1つまたは複数のオーディオフィンガープリントと比較したことに基づいて、オーディオフィンガープリントが、1つまたは複数のオーディオフィンガープリントのうちの少なくとも1つに対応すると判断することとをさらに含む。オーディオフィンガープリントを1つまたは複数のオーディオフィンガープリントと比較するアクションは、オーディオフィンガープリントを、1つまたは複数のオーディオフィンガープリントを記憶するコンピューティングデバイスに提供することと、1つまたは複数のオーディオフィンガープリントを記憶するコンピューティングデバイスに、オーディオフィンガープリントを1つまたは複数のオーディオフィンガープリントと比較するための要求を提供することと、1つまたは複数のオーディオフィンガープリントを記憶するコンピューティングデバイスから、オーディオフィンガープリントを1つまたは複数のオーディオフィンガープリントと比較したことに基づく比較データを受信することとを含む。
【０００８】
いくつかの実装形態では、コンピューティングデバイスは、オーディオを受信し、オーディオを処理し、動作の実施を抑制する間、低電力/スリープ/非アクティブ状態に留まる。いくつかの実装形態は、オーディオを受信する間、コンピューティングデバイスのディスプレイに、コンピューティングデバイスがオーディオを受信中であることを示すデータを提供することを含む。いくつかの実装形態は、オーディオを受信する間、コンピューティングデバイスのディスプレイに、コンピューティングデバイスがオーディオを処理中であることを示すデータを提供することを含む。
【０００９】
いくつかの実装形態は、オーディオを処理したことに応答して、コンピューティングデバイスのディスプレイを非アクティブ化することを含む。他の実装形態は、オーディオを処理したことに応答して、コンピューティングデバイスを低電力/スリープ/非アクティブ状態に戻すことを含む。いくつかの実装形態は、オーディオを処理したことに応答して、コンピューティングデバイスのディスプレイに、コンピューティングデバイスがコンピューティングデバイス上での動作の実施を抑制したことを示すデータを提供することを含む。
【００１０】
いくつかの態様では、本方法は、ユーザによって選択されると、コンピューティングデバイス上で動作を実施するための命令を出力用にコンピューティングデバイスに提供する選択可能なオプションを提供することを含む。いくつかの実装形態では、アクションは、選択可能なオプションの選択を検出することと、あらかじめ定義されたホットワードの発声を含む、続いて受信されたオーディオを処理するためのプロセスを調節することとをさらに含む。
【００１１】
いくつかの実装形態では、オーディオを処理することは、あらかじめ定義されたホットワードの前の、オーディオの部分を処理することを含む。いくつかの実装形態では、オーディオを処理することは、あらかじめ定義されたホットワードに続く、オーディオの部分を処理することを含む。いくつかの態様では、さらなるアクションが、オーディオがあらかじめ定義されたホットワードの発声を含むと判断することを含み、オーディオは、オーディオがあらかじめ定義されたホットワードの発声を含むと判断したことに基づいて処理される。オーディオが、あらかじめ定義されたホットワードの発声を含むと判断するアクションは、オーディオに対して音声認識を実施せずに、オーディオがあらかじめ定義されたホットワードの発声を含むと判断することを含む。
【００１２】
本態様の他の実施形態は、方法の動作を実施するように各々が構成される、対応するシステムと、装置と、コンピュータ記憶デバイス上に記録されたコンピュータプログラムとを含む。
【００１３】
本明細書に記載する主題の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するように実装することができる。デバイスは、あらかじめ記録されたオーディオに含まれるホットワードを検出すること、およびデバイス上での対応する動作を抑制することによって、ユーザによってシステムに向けられていないコマンドを無視することができる。これらのアクションは、たとえば上述したように、デバイスにおける電力消費および/または計算リソースの使用を削減することによって、システムが動作する効率を改善する場合がある。
【００１４】
本明細書において説明される主題の1つまたは複数の実施態様の詳細は、添付の図面および以下の説明に記載される。本主題の他の特徴、態様および利点は、説明、図面および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１５】
【図１】ホットワードトリガ抑制のための例示的システムの図である。
【図２】記録されたメディアからのホットワードトリガを抑制するための例示的プロセスの図である。
【図３】記録されたメディアからのホットワードトリガを抑制するための例示的プロセスの図である。
【図４】コンピューティングデバイスおよびモバイルコンピューティングデバイスの例を示す図である。
【発明を実施するための形態】
【００１６】
様々な図面における同様の参照番号および名称は、同様の要素を示す。
【００１７】
音声対応環境では、デバイスは、ホットワードに絶えず耳を傾けている。「OKコンピュータ」という言葉が話される度に、その言葉は、マイクロフォンによって拾われ、システムに伝えられ、システムは、音声処理動作を実施して、ホットワードが話されたかどうかを判断し、話された場合、続いて生じるコマンドまたは問合せを待ち受ける。デバイスに向けることを意図されたものではない見込みがある、ソースからのホットワードへの応答を抑制することが望ましい場合がある。たとえば、「OKコンピュータ」という言葉を含むコマーシャルが、デバイスの付近にあるテレビジョンで再生されると、それによりデバイスが、さらなるコマンドを受信するためのレディ状態に入ることをトリガする見込みがある。問合せまたはコマンドがホットワードに続く場合、問合せが実際にはデバイスに向けられていなくても、デバイスは、問合せに基づいて動作を実施する場合もある。これは、意図されないとともに混乱を生じる問題であり、デバイスにおける電力および計算リソースの望まれない消費を不必要にもたらす場合がある。本願明細書は、記録されたメディア内のホットワードの問題に対処し、付近にあるデバイスにおける、そのような記録されたメディア内のホットワードへの反応を抑制する。
【００１８】
図1は、ホットワード抑制のための例示的システム100の図である。例示的システム100は、オーディオデータ104などのオーディオ入力が、あらかじめ記録されたメディアアイテムの一部としてホットワード104を含むかどうかを判断し、それに応答して、続いて生じるコマンドに対する動作を抑制する。概して、システム100は、コンピューティングデバイス106のマイクロフォン108によって検出されるオーディオデータ104を出力するオーディオデバイス102を示す。コンピューティングデバイス106は、オーディオデータ104をオーディオバッファ124に記憶する。コンピューティングデバイスは、ホットワーダ110を使用してオーディオデータ104を処理して、オーディオデータ104がホットワード105を含むかどうかを判断する。ホットワード105が検出されると、オーディオデータ104はサーバ116に送信される。サーバ116は、ホットワード105を含む符号化オーディオをフィンガープリント比較器120に供給するオーディオフィンガープリンタ118を有する。フィンガープリント比較器120は、オーディオフィンガープリントのデータベース122を含む。フィンガープリント比較器120が、オーディオ104がメディアコンテンツのアイテムの再生に対応すると判断した場合、コンピューティングデバイス上での動作の実施を抑制するための命令109が、コンピューティングデバイス106に送信されてもよい。
【００１９】
コンピューティングデバイス106は、たとえばデスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ウェアラブルコンピュータ、セルラーフォン、スマートフォン、音楽プレーヤ、eブックリーダ、ナビゲーションシステム、スマートスピーカーおよびホームアシスタント、またはどの他の適切なコンピューティングデバイスであることもできる。オーディオデバイス102は、たとえばテレビジョン、ラジオ、音楽プレーヤ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ウェアラブルコンピュータ、セルラーフォン、またはスマートフォンなどのオーディオのいかなるソースであることもできる。
【００２０】
オーディオデバイス102が、「OKコンピュータ」というホットワード105を含むオーディオデータ104を出力すると、オーディオデバイス102の付近にあるコンピューティングデバイス106は、オーディオデータ104を検出し、処理する。コンピューティングデバイスは、マイクロフォン108などのオーディオ入力デバイスを通してオーディオデータ104を検出する。マイクロフォン108は、オーディオデータ104を、それぞれのオーディオサブシステムに提供する。それぞれのオーディオサブシステムは、オーディオデータ104をバッファリングし、フィルタリングし、デジタル化してもよい。いくつかの実装形態では、コンピューティングデバイス106はまた、オーディオデータ104に対してエンドポインティングおよびスピーカー識別を実施してもよい。オーディオサブシステムは、フィルタリングされ、デジタル化されたオーディオデータを記憶するためのオーディオバッファ124を含んでもよい。オーディオサブシステムは、処理されたオーディオデータをホットワーダ110に提供する。ホットワーダ110は、処理されたオーディオデータを既知のホットワードデータと比較し、オーディオデータ104がホットワードを含む見込みを示す信頼性スコアを計算する。
【００２１】
ホットワーダ110は、処理されたオーディオデータからフィルタバンクエネルギーまたはメル周波数ケプストラム係数などのオーディオ特徴を抽出してもよい。ホットワーダ110は、たとえばサポートベクトルマシンまたはニューラルネットワークを使用することによってこれらのオーディオ特徴を処理するのに分類ウィンドウを使用してもよい。オーディオ特徴の処理に基づいて、ホットワーダ110が、閾信頼性スコアを超える信頼性スコアを計算した場合、オーディオデータ104は、オーディオフィンガープリンタ118に送信される。いくつかの実装形態では、コンピューティングデバイス106は、処理されたオーディオデータをサーバ116に送信し、サーバ116は、ホットワード信頼性スコアを計算する。この事例では、サーバ116は、ホットワーダ110と同様のホットワーダを含む。オーディオフィンガープリンタ118に送信されるオーディオデータ104は、ホットワード105と、ホットワード105に先行し、または/かつ続くオーディオとを含んでもよい。いくつかの実装形態では、オーディオフィンガープリンタ118に送信されるオーディオデータ104は、オーディオデータ104のいかなる部分を含んでもよい。オーディオデータ104の部分は、ホットワード105を含む場合も含まない場合もある。オーディオデータ104の部分は、オーディオデータ104の冒頭または末尾部分であってもよい。オーディオデータ104の部分は、ホットワード105に直ちに、または部分とホットワード105との間に何らかのオーディオを有して、先行するか、または続いてもよい。
【００２２】
オーディオデータ104を受信した後、オーディオフィンガープリンタ118は、オーディオデータ104から関連のある音響特性を抽出して、オーディオシグネチャ、すなわちオーディオデータ104を要約するコンテンツベースのコンパクトデジタルシグネチャを取得する。オーディオデータ104から抽出されたオーディオフィンガープリントは、フィンガープリント比較器120に送信される。このオーディオフィンガープリントは、効率的なマッチングアルゴリズムを使用して、フィンガープリントデータベース122中の1つまたは複数のオーディオフィンガープリントと比較される。フィンガープリント比較器120は、オーディオデータ104が、フィンガープリントデータベース中のオーディオフィンガープリントと合致する見込みを示す合致スコアを計算してもよい。フィンガープリントデータベース122は、ホットワードを含む場合があるか、またはホットワードに関連付けられた既知のオーディオレコーディング(たとえば、音楽、TV番組、映画など)のデータベースであってもよい。たとえば、オーディオレコーディングは、コマーシャルの中で俳優がホットワードを話す前に生じるオーディオを含んでもよい。別の例として、オーディオレコーディングは、映画の中で女優がホットワードを話した後に生じるオーディオを含んでもよい。
【００２３】
フィンガープリントデータベース122は、バイナリフォーマットで埋め込まれたテーブルに記憶される場合があるオーディオファイルのオーディオフィンガープリントを含んでもよい。フィンガープリントデータベース122への更新は、コンピューティングデバイス106への更新によって行われてもよい。フィンガープリントデータベース122は、ホットワード105などのホットワードを含むコマーシャルおよび他のメディアを追加することによって更新されてもよい。ユーザは、ホットワードトリガをその中に有するオーディオでフィンガープリントデータベース122を更新することが可能な場合がある。フィンガープリントデータベース122は、デバイスの間のトリガ活動の中でスパイクを見つけ、識別すること、およびトリガリングメディアを識別し、メディアをフィンガープリントデータベース122に追加することによって更新される場合もある。ホットワード105を含むオーディオレコーディングは、オーディオレコーディングの利用可能オーディオトランスクリプトを使用することによって識別される場合もある。
【００２４】
コンピューティングデバイス106上で動作を実施することに関連付けられた、あらかじめ定義されたホットワードを含むオーディオフィンガープリントが、フィンガープリントデータベース122に含まれる1つまたは複数のオーディオフィンガープリントのうちの少なくとも1つに対応すると判断すると、サーバ116は、コンピューティングデバイス106による、ホットワード105に関連付けられた動作の処理を抑制するための命令109をコンピューティングデバイス106に送信する。フィンガープリント比較器120は、この判断を合致スコアを閾合致スコアと比較することによって実施する。合致スコアが閾合致スコアを満足する場合、サーバ116は、コンピューティングデバイス106によるホットワード105に関連付けられた動作の処理を抑制するための命令109をコンピューティングデバイス106に送信する。合致スコアが閾合致スコアを満足しない場合、サーバ116は、動作を処理するための命令109をコンピューティングデバイス106に提供する。
【００２５】
コンピューティングデバイス106による、ホットワード105に関連付けられた動作の処理を抑制するための命令109をコンピューティングデバイス106に送信すると、システム100は、抑制のプロセスに対応するデータを記憶してもよい。抑制された問合せについてのデータを記憶することは、さらなる品質向上と既存システムの性能の追跡とに有用な場合がある。
【００２６】
ホットワーダ110に、およびオーディオフィンガープリンタ118に送信されるオーディオデータ104はホットワード105を含んでもよい。いくつかの実装形態では、コンピューティングデバイス106は、ホットワード105が発せられた後、所定の時間量だけオーディオフィンガープリンタ118にオーディオデータ104をストリーミングする。いくつかの実装形態では、ホットワード105の発声に続いてエンドポインティングがオーディオデータ104に対して実施されてもよい。ホットワード105に続く、オーディオデータ104中の不連続のロケーションを検出することによって、エンドポイントが検出される場合がある。エンドポイントが検出されると、オーディオフィンガープリンタ118は、受信されたオーディオを処理し始めてもよく、コンピューティングデバイス106は、オーディオデータ104をストリーミングするのをやめてもよい。
【００２７】
オーディオフィンガープリンタ118もしくはホットワーダ110または両方によって実施される機能は、サーバ116によって、もしくはコンピューティングデバイス106によって、他の個々のコンピュータシステムによって実施することができ、または複数のコンピュータシステムに分散されることが可能である。
【００２８】
オーディオフィンガープリンタ118は、別個のサーバ116の一部であってもよい。コンピューティングデバイス106は、オーディオデータ104中のホットワード105を検出する場合があり、このホットワード105は、コンピューティングデバイス106のアクティブ化をトリガする場合がある。ホットワード105を検出すると、コンピューティングデバイス106は、ホットワード105をもつオーディオデータ104と、ホットワード105に続くか、もしくは先行する、または後続と先行の両方である任意の追加オーディオデータとをサーバ116に送信してもよい。サーバ116が必要とされる量のオーディオデータ104を受信すると、サーバ116はオーディオフィンガープリントプロセスを実施して、オーディオデータ104があらかじめ記録されたメディアの一部であるかどうかを判断してもよい。一態様では、サーバ116は、所定の量のオーディオが受信されるまで待ってもよい。別の態様では、サーバ116は、オーディオデータ104を処理する前に、オーディオデータ104のエンドポイントまで待ってもよい。コンピューティングデバイス106は、ホットワード105の検出の指示を与え、オーディオデータ104をサーバ116に送信してもよい。指示は、点滅する光またはビープなどの音であってもよい。指示は、コンピューティングデバイス106が、後に続くオーディオを処理するまで、またはコンピューティングデバイス106が、コンピューティングデバイス106による、ホットワード105に関連付けられた動作の処理を抑制するための命令109を受信するまで残っていてもよい。一例では、「OKコンピュータ」というホットワード105が検出されると、ホームアシスタントが、点灯するか、またはビープ音を出してもよい。光は、オーディオフィンガープリンタ118が応答するのをデバイスがしばらくの間待っていることを示すように、回転するかまたは明滅してもよく、次いで光は、ホットワード105が抑制された場合は非アクティブ化してもよい。
【００２９】
サーバ116の一部であるか、またはコンピューティングデバイス106上でローカルに記憶される場合があるフィンガープリントデータベース122は、非常に素早く、効率的に、オーディオフィンガープリントで更新されてもよい。コンピューティングデバイス106によるホットワード105に関連付けられた動作の処理を抑制するための命令109をコンピューティングデバイス106に送信すると、システム100は、抑制のプロセスに対応するデータをサーバ116上に記憶してもよい。抑制された問合せについてのデータのログをとることは、さらなる品質向上と、既存システムの性能の追跡とに有用な場合がある。抑制の精度は、データログから評価される場合がある。サーバ116におけるオーディオフィンガープリント技術は、迅速に更新され、向上される場合がある。いくつかの実装形態では、データログはユーザにとって利用可能であってもよい。たとえば、ユーザは、各抑制された問合せについてのエントリを個人ウェブ履歴ページで見つけることが可能な場合がある。
【００３０】
いくつかの実装形態では、フィンガープリントデータベース122は、メディアアイテムの放送の時間に対応するデータを含む場合もある。たとえば、フィンガープリントデータベース122は、コマーシャル放送スケジュールを有する場合もある。データベース122は、特定のホットワードを伴うコマーシャルがいつ放送される可能性があるかについての情報を有する場合もある。これは、システムが、情報を使用してホットワードをより容易に、素早く識別し、ホットワードトリガ抑制を実施するのを助ける場合もある。
【００３１】
いくつかの実装形態では、オーディオフィンガープリンタ118は、コンピューティングデバイス106の一部であってもよい。ホットワード105を含むオーディオデータ104は、オーディオデータ104が、あらかじめ記録されたメディアアイテムの一部であるかどうかを判断するためにオーディオフィンガープリンタ118に送信される。コンピューティングデバイス106は、オーディオバッファ124に所定の量のオーディオデータ104を記憶してもよい。ホットワード105が検出されると、オーディオフィンガープリンタ118は、ホットワード105を含むオーディオデータ104と、オーディオバッファ124中のデータとを処理してもよい。たとえば、コンピューティングデバイス106は常時、10秒間のオーディオをオーディオバッファ124に記憶してもよいであろう。テレビジョンコマーシャルがテレビジョンで流れている場合、ホットワードがトリガすると、コンピューティングデバイス106は、オーディオバッファ124からの10秒間のオーディオデータ104をフィンガープリンティングしてもよい。テレビジョンコマーシャルが、第1のホットワード105の前に数秒間のオーディオデータ104を含む場合、コンピューティングデバイス106はすでに、コマーシャルと突き合わせるべきオーディオを有しており、ホットワード105に続くそれ以上のオーディオデータは必要としない場合がある。これにより、抑制プロセスの速度を上げる場合がある。
【００３２】
いくつかの実装形態では、オーディオフィンガープリンタ118は、ホットワード105に先行するオーディオデータ104の部分をフィンガープリントデータベース122中のオーディオフィンガープリントと比較してもよい。いくつかの実装形態では、オーディオフィンガープリンタ118は、ホットワード105をフィンガープリントデータベース122中のオーディオフィンガープリントと比較してもよい。いくつかの実装形態では、オーディオフィンガープリンタ118は、ホットワード105に続くオーディオの部分をフィンガープリントデータベース122中のオーディオフィンガープリントと比較してもよい。たとえば、テレビジョンコマーシャルがホットワード105で始まる場合があり、そのような状況では、システムは、ホットワード105を任意の続いて生じるオーディオとともにフィンガープリンティングしてもよい。
【００３３】
いくつかの実装形態では、コンピューティングデバイス106は、オーディオデバイス102からのオーディオデータ104の受信によって影響を受けないように見える場合がある。たとえば、ユーザ126は、オーディオデバイス102においてコマーシャルを見ている場合があり、ユーザの手にあるコンピューティングデバイス106においてテキストを読んでいる場合がある。コマーシャルからのオーディオデータ104の中にホットワード105が検出されると、コンピューティングデバイス106は、オーディオデータ104を受信し、オーディオデータ104を処理し、動作の実施を抑制してもよい。その間ずっと、コンピューティングデバイス106のアクティブ化状態は影響を受けないままであってもよく、ユーザは、テキストを読み続けることができる。コンピューティングデバイスは、低電力状態、スリープ状態または非アクティブ状態にあった場合、オーディオ検出、オーディオ処理および動作の実施抑制中は影響を受けないままであってもよい。
【００３４】
いくつかの実装形態では、コンピューティングデバイス106は、ホットワード105の検出の指示を提供する場合があるが、コンピューティングデバイス106による、ホットワード105に関連付けられた動作の処理を抑制するための命令がコンピューティングデバイス106によって受信されると、指示は無効にされてもよい。一例では、「OKコンピュータ」というホットワードが検出されると、ホームアシスタントが、点灯するか、またはビープ音を出す場合がある。光は、オーディオフィンガープリンタ118が応答するのをコンピューティングデバイス106がしばらくの間待っていることを示すように、回転するか、または明滅してもよく、次いで光は、ホットワード105が抑制されているときは非アクティブ化して消えてもよい。
【００３５】
いくつかの実装形態では、音声認識プロセスを抑制するための信号をコンピューティングデバイス106が受信するまで、コンピューティングデバイス106は、ホットワード105に続く音声に対して音声認識を実施し始めてもよい。ホットワーダ110は、ホットワード信頼性スコアを計算し、ホットワード信頼性スコアが閾を満足する場合、コンピューティングデバイス106は、ホットワード105に続く音声に対して音声認識を実施する。コンピューティングデバイス106は、音声認識のいかなる指示もユーザに対して表示することなく音声認識を実施してもよい。そうすることにより、コンピューティングデバイス106がアクティブでないという印象をユーザに提供すると同時に、オーディオがメディアコンテンツのアイテムの再生に対応しないことをコンピューティングデバイス106が確認するのをコンピューティングデバイス106が待った場合よりも素早くコンピューティングデバイスに音声認識に基づく結果をユーザに対して表示させるので望ましい場合がある。一例として、コンピューティングデバイス106は、信頼性閾を超えるホットワード信頼性スコアを計算し、ホットワード105に続く音声に対して音声認識を実施し始める。コンピューティングデバイス106は、オーディオデータ104をオーディオフィンガープリンタに送信し、プリンタは、オーディオデータ104を処理し、オーディオデータ104がフィンガープリントデータベース122中のどのオーディオフィンガープリントとも合致しないと判断する。コンピューティングデバイス106は、ホットワード105に続く音声に対して音声認識を実施し続け、ユーザに結果を提示する。別の例として、オーディオフィンガープリンタ118が、オーディオデータ104がフィンガープリントデータベース122中のオーディオフィンガープリントと合致し、したがってメディアコンテンツのアイテムの再生に対応すると判断した場合、音声認識動作を抑制するための信号がアシスタントサーバに送信される。いかなるデータもユーザに対して表示されず、ユーザは、コンピューティングデバイス106が「スリープ」状態に留まっているという印象を受ける見込みがある。
【００３６】
いくつかの実装形態では、いかなる待ち時間も避けるために、サーバ116は、オーディオデータ全体が処理される前にアシスタントサーバに抑制信号を送信することができる。たとえば、オーディオデータ104全体がフィンガープリンティングされる前であっても、フィンガープリント合致スコアが閾合致スコアを超える場合、オーディオフィンガープリンタ118は、コンピューティングデバイス106上での動作を抑制するようアシスタントサーバに通知することができよう。
【００３７】
いくつかの実装形態では、コンピューティングデバイス106上での動作の実施が抑制されているという指示が、コンピューティングデバイス106によって1つまたは複数の他のコンピューティングデバイスに与えられる。これは、ビープか、または他のコンピューティングデバイス上で点滅する光であってもよい。いくつかの実装形態では、他のコンピューティングデバイスは、アクションが抑制されたことをユーザに知らせるメッセージをディスプレイ上に表示してもよい。
【００３８】
コンピューティングデバイス106上での動作の実施を抑制するための命令を受信した後、デバイスは、付近のデバイスにホットワードに応答しないよう通知してもよい。いくつかの実装形態では、コンピューティングデバイス106は、ローカルネットワークをサーチすることによって、またはホットワード105に応答するように構成される他のデバイス用の短距離無線を使用することによって、ホットワード105に応答するように構成される他の付近のコンピューティングデバイスを識別する。たとえば、コンピューティングデバイス106は、ホットワード105に応答するように構成される他のデバイスを求めてローカルエリアネットワークをサーチし、2つの他のコンピューティングデバイスを識別する場合がある。
【００３９】
いくつかの実装形態では、コンピューティングデバイス106は、各デバイスにログインしているユーザを識別することによってホットワード105に応答するように構成される他の付近のコンピューティングデバイスを識別する。たとえば、ユーザ126は、3つのコンピューティングデバイスにログインしている。各コンピューティングデバイスは、ユーザ識別子などのコンピューティングデバイスにログインしているユーザに関連した情報を共有する。
【００４０】
図2は、ホットワード検出のための例示的プロセス200の図である。プロセス200は、図1からのコンピューティングデバイス106などのコンピューティングデバイスによって実施されてもよい。プロセス200は、メディアコンテンツのアイテムの再生に対応するオーディオを処理することであって、オーディオは、コンピューティングデバイス上で動作を実施することに関連付けられた、あらかじめ定義されたホットワードの発声を含む、処理することと、オーディオを処理したことに応答して、コンピューティングデバイス上での動作の実施を抑制することとを行う。
【００４１】
コンピューティングデバイス106は、デバイス上で動作を実施するためのホットワード105を含む再生オーディオ104を受信する(210)。再生オーディオ104は、オーディオデバイスのスピーカーから受信され、コンピューティングデバイスのマイクロフォンがオーディオデータを受信する。一例として、テレビジョン102が、「OKコンピュータ」という言葉を伴うコマーシャルを放送している場合があり、コンピューティングデバイス106のマイクロフォン108が、「OKコンピュータ」というホットワード105を含むオーディオデータ104を受信する。次いで、オーディオデータ104は処理される(220)。これは、オーディオデータ104をバッファリングし、フィルタリングし、デジタル化することを伴う場合がある。ホットワーダ110は、処理されたオーディオデータを既知のホットワードデータと比較し、オーディオデータ104がホットワード105を含むかどうかを判断する。ホットワード105のオーディオを含むか、またはホットワード105のオーディオなしのオーディオデータ104が次いで、オーディオフィンガープリンタ118に送信される。オーディオデータ104を処理したことに基づいて、コンピューティングデバイス106上での動作の実施が抑制されてもよい(230)。
【００４２】
いくつかの実装形態では、オーディオフィンガープリンティングおよび比較は、あるサーバ上で起きてもよく、命令は、別のサーバによってデバイスに与えられてもよい。いくつかの実装形態では、オーディオフィンガープリンティングおよび比較は、コンピューティングデバイス106上で実施されてもよい。
【００４３】
いくつかのケースでは、ホットワード105が、あらかじめ記録されたメディアアイテムの一部であるとして識別されたときであっても、ユーザは、ホットワード105に応答してコンピューティングデバイス106に動作を実施させたい場合がある。そのような状況において、コンピューティングデバイス106は、出力用に選択可能なオプションを与えてもよく、オプションは、ユーザによって選択されると、コンピューティングデバイス上で動作を実施するための命令をコンピューティングデバイス106に提供する。これは、動作が実施される必要があるかどうかを尋ねる、コンピューティングデバイス106のディスプレイ上のメッセージであることができよう。ユーザ126は、ディスプレイ上でオプションを選択し、または任意の他の入力デバイスを通してオプションを送信することが可能な場合がある。たとえば、テレビジョン102で流れるコマーシャルが、「OKコンピュータ、天気はどう？」という発声を含む場合がある。コンピューティングデバイス106は次いで、ホットワードがあらかじめ記録されたメディアアイテムの一部であると判断してもよく、後に続くコマンドを抑制する。コンピューティングデバイス106は、コマンドが抑制されたという指示をユーザに与えてもよい。ユーザが、とにかくコマンドを処理させたい場合、ユーザは、コマンドを処理し続けるよう、デバイスに命令するオプションをコンピューティングデバイス106上で選択することができる。選択可能なオプションの選択を検出したことに応答して、コンピューティングデバイス106は、いくつかの事例では、あらかじめ定義されたホットワードの発声を含む引き続き受信されたオーディオを処理するためのプロセスを調節してもよい。
【００４４】
別の例として、コンピューティングデバイス106は、ユーザによる発声を、あらかじめ記録されたメディアアイテムに属すものとして誤識別する場合もあろう。そのような状況において、システムは、動作の実施の抑制を取り消すための選択可能なオプションをユーザに与えてもよい。この事例では、コンピューティングデバイス106はまた、あらかじめ定義されたホットワードの発声を含む、引き続き受信されたオーディオを処理するための処理を調節してもよい。
【００４５】
図3は、ホットワード検出のための例示的プロセス300の図である。プロセス300は、図1からのコンピューティングデバイス106などのコンピューティングデバイスによって実施されてもよい。プロセス300は、コンピューティングデバイスのマイクロフォンによって、メディアコンテンツのアイテムの再生に対応するオーディオを受信することであって、オーディオは、コンピューティングデバイス上で動作を実施することに関連付けられた、あらかじめ定義されたホットワードの発声を含む、受信することと、サーバに、オーディオに対応するオーディオデータを提供することと、サーバから、コンピューティングデバイス上での動作の実施を抑制するための命令を受信することと、コンピューティングデバイス上での動作の実施を抑制するための命令を受信したことに応答して、コンピューティングデバイス上での動作の実施を抑制することとを行う。
【００４６】
コンピューティングデバイス106は、コンピューティングデバイス106のマイクロフォン108によって、メディアコンテンツのアイテムの再生に対応するオーディオ104を受信し、オーディオ104は、コンピューティングデバイス上で動作を実施することに関連付けられた、あらかじめ定義されたホットワード105の発声を含む(310)。ステップ210と同様、オーディオ104は、テレビジョン102などのオーディオデバイスのスピーカーから受信される。テレビジョン102は、コンピューティングデバイス106上で動作を実施することに関連付けられた、あらかじめ定義されたホットワードの発声を含む歌などのメディアコンテンツのアイテムを放送する場合がある。たとえば、歌はコンピューティングデバイス106上で動作を実施することに通常は関連付けられた「OKコンピュータ」というホットワード105を含んでもよい。
【００４７】
コンピューティングデバイス106は、オーディオデータ104をサーバ116に提供する(320)。サーバ116は、オーディオデータ104から関連のある音響特性を抽出して、オーディオシグネチャ、すなわちオーディオデータ104を要約するコンテンツベースのコンパクトデジタルシグネチャを取得するオーディオフィンガープリンタ118を有する。オーディオデータ104から抽出されたオーディオフィンガープリントは、フィンガープリント比較器120に送信される。このオーディオフィンガープリントは、効率的なマッチングアルゴリズムを使用してフィンガープリントデータベース122中の1つまたは複数のオーディオフィンガープリントと比較される。フィンガープリント比較器120は、オーディオデータ104が、フィンガープリントデータベース中のオーディオフィンガープリントと合致する見込みを示す合致スコアを計算してもよい。フィンガープリントデータベース122は、ホットワードを含む場合があるか、またはホットワードに関連付けられた既知のオーディオレコーディング(たとえば、音楽、TV番組、映画など)のデータベースであってもよい。フィンガープリント比較器120は、この判断を、合致スコアを閾合致スコアと比較することによって実施する。合致スコアが閾合致スコアを満足する場合、サーバ116は、コンピューティングデバイス106によるホットワード105に関連付けられた動作の処理を抑制するための命令109をコンピューティングデバイス106に送信する。合致スコアが閾合致スコアを満足する場合、サーバ116は、動作を処理するための命令109をコンピューティングデバイス106に送信する。
【００４８】
いくつかの実装形態では、サーバ116が、動作を処理するための命令109をコンピューティングデバイス106に与えた場合、コンピューティングデバイス106は、出力用に選択可能なオプションを与えてもよく、オプションは、ユーザによって選択されると、コンピューティングデバイス上で動作を実施するための命令をコンピューティングデバイス106に提供する。たとえば、テレビジョン102で流れるコマーシャルが、「OKコンピュータ、今何時？」という発声を含む場合がある。ユーザが、とにかくコマンドを処理させたい場合、ユーザは、コマンドを処理し続けるように命令するオプションをコンピューティングデバイス106上で選択することができる。選択可能なオプションの選択を検出したことに応答して、コンピューティングデバイス106は、いくつかの事例では、あらかじめ定義されたホットワードの発声を含む引き続き受信されたオーディオを処理するためのプロセスを調節してもよい。
【００４９】
いくつかの実装形態では、コンピューティングデバイス106は、受信されたオーディオを処理するようコンピューティングデバイス106に命令する命令109をサーバ116から受信したことに応答して、あらかじめ定義されたホットワードの発声を含む受信されたオーディオを自動的に処理してもよい。この事例では、コンピューティングデバイス106は、ユーザに出力を与えないが、受信されたオーディオを自動的に処理する。たとえば、コンピューティングデバイス106は、「OKコンピュータ、今何時？」という発声を含むオーディオを処理する場合がある。発声を処理したことに応答して、コンピューティングデバイス106は、発声への応答を与えてもよい。この例では、応答は、「時刻は午後2:31です」と答える、コンピューティングデバイスによって表示される可聴または可視的回答を含んでもよい。
【００５０】
コンピューティングデバイス106は、サーバ116から、コンピューティングデバイス106に関連付けられた動作の実施を抑制するようコンピューティングデバイス106に命令する命令109を受信する(330)。命令109は、動作の実施を抑制するためにコンピューティングデバイス106が実行するべき1つまたは複数の処理動作を含んでもよい。
【００５１】
コンピューティングデバイス106上での動作の実施を抑制するための命令109を受信したことに応答して、コンピューティングデバイス106は、コンピューティングデバイス106上での動作の実施を抑制する(340)。
【００５２】
図4は、本明細書に記載する技法を実装するのに使用することができるコンピューティングデバイス400およびモバイルコンピューティングデバイス450の例を示す。コンピューティングデバイス400は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの様々な形のデジタルコンピュータを表すことを意図している。モバイルコンピューティングデバイス450は、携帯情報端末、セルラー電話、スマートフォン、および他の同様のコンピューティングデバイスなどの様々な形のモバイルデバイスを表すことを意図している。ここに示される構成要素、それらの接続および関係、ならびにそれらの機能は、例であることのみを目的としており、限定的であることは目的としていない。
【００５３】
コンピューティングデバイス400は、プロセッサ402、メモリ404、記憶デバイス406、メモリ404および複数の高速拡張ポート410に接続する高速インターフェース408、ならびに低速拡張ポート414および記憶デバイス406に接続する低速インターフェース412を含む。プロセッサ402、メモリ404、記憶デバイス406、高速インターフェース408、高速拡張ポート410、および低速インターフェース412の各々は、様々なバスを使用して相互接続され、共通マザーボード上に、または必要に応じて他の様式で搭載されてもよい。プロセッサ402は、GUIについてのグラフィカル情報を、高速インターフェース408に結合されたディスプレイ416などの外部入力/出力デバイス上に表示するためのメモリ404中または記憶デバイス406上に記憶された命令を含むコンピューティングデバイス400内での実行のための命令を処理することができる。他の実装形態では、複数のプロセッサおよび/または複数のバスが、必要に応じて複数のメモリおよびタイプのメモリとともに使用されてもよい。また、複数のコンピューティングデバイスが接続されてもよく、各デバイスは、必要な動作の部分を(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)提供する。
【００５４】
メモリ404はコンピューティングデバイス400内に情報を記憶する。いくつかの実装形態において、メモリ404は、1つまたは複数の揮発性メモリユニットである。いくつかの実装形態において、メモリ404は、1つまたは複数の不揮発性メモリユニットである。メモリ404はまた、磁気または光ディスクなどの別の形のコンピュータ可読媒体であってもよい。
【００５５】
記憶デバイス406は、コンピューティングデバイス400に大容量記憶を提供することが可能である。いくつかの実装形態において、記憶デバイス406は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイス、フラッシュメモリもしくは他の同様の固体メモリデバイス、または記憶エリアネットワークもしくは他の構成におけるデバイスを含むデバイスのアレイなどのコンピュータ可読媒体であるか、またはそれらを含んでもよい。命令は、情報キャリアに記憶することができる。命令は、1つまたは複数の処理デバイス(たとえば、プロセッサ402)によって実行されると、上述したような1つまたは複数の方法を実施する。命令は、コンピュータまたは機械可読媒体などの1つまたは複数の記憶デバイス(たとえば、メモリ404、記憶デバイス406、またはプロセッサ402上のメモリ)によって記憶することもできる。
【００５６】
高速インターフェース408は、コンピューティングデバイス400向けの帯域消費型動作を管理し、低速インターフェース412は、より帯域低消費型の動作を管理する。機能のそのような割振りは例にすぎない。いくつかの実装形態において、高速インターフェース408は、メモリ404、ディスプレイ416に(たとえば、グラフィックスプロセッサまたはアクセラレータを通して)、および様々な拡張カード(図示せず)を受ける場合がある高速拡張ポート410に結合される。本実装形態において、低速インターフェース412は、記憶デバイス406および低速拡張ポート414に結合される。低速拡張ポート414は、様々な通信ポート(たとえば、USB、Bluetooth(登録商標)、イーサネット(登録商標)、ワイヤレスイーサネット)を含む場合があるが、キーボード、ポインティングデバイス、スキャナなどの1つもしくは複数の入力/出力デバイス、またはスイッチもしくはルータなどのネットワークデバイスに、たとえばネットワークアダプタを通して結合されてもよい。
【００５７】
コンピューティングデバイス400は、図に示すように、いくつかの異なる形で実装されてもよい。たとえば、標準サーバ420として、またはそのようなサーバのグループで複数回実装されてもよい。さらに、ラップトップコンピュータ422などのパーソナルコンピュータで実装されてもよい。また、ラックサーバシステム424の一部として実装されてもよい。代替として、コンピューティングデバイス400からの構成要素は、モバイルコンピューティングデバイス450などのモバイルデバイス(図示せず)中の他の構成要素と組み合わされてもよい。そのようなデバイスの各々は、コンピューティングデバイス400およびモバイルコンピューティングデバイス450のうちの1つまたは複数を含んでもよく、システム全体が、互いと通信する複数のコンピューティングデバイスから作られてもよい。
【００５８】
モバイルコンピューティングデバイス450は、他の構成要素の中でもプロセッサ452、メモリ464、ディスプレイ454などの入力/出力デバイス、通信インターフェース466、およびトランシーバ468を含む。モバイルコンピューティングデバイス450にはまた、追加記憶を提供するために、マイクロドライブまたは他のデバイスなどの記憶デバイスが設けられてもよい。プロセッサ452、メモリ464、ディスプレイ454、通信インターフェース466、およびトランシーバ468の各々は、様々なバスを使用して相互接続され、構成要素のうちのいくつかは、共通マザーボード上に、または必要に応じて他の方式で搭載されてもよい。
【００５９】
プロセッサ452は、メモリ464中に記憶された命令を含むモバイルコンピューティングデバイス450内の命令を実行することができる。プロセッサ452は、別個および複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実装されてもよい。プロセッサ452は、たとえばユーザインターフェース、モバイルコンピューティングデバイス450によって稼動されるアプリケーション、およびモバイルコンピューティングデバイス450によるワイヤレス通信の制御などのモバイルコンピューティングデバイス450の他の構成要素の協調を可能にしてもよい。
【００６０】
プロセッサ452は、制御インターフェース458およびディスプレイ454に結合されたディスプレイインターフェース456を通してユーザと通信してもよい。ディスプレイ454は、たとえばTFT(薄膜トランジスタ液晶ディスプレイ)ディスプレイもしくはOLED(有機発光ダイオード)ディスプレイ、または他の適切なディスプレイ技術であってもよい。ディスプレイインターフェース456は、グラフィカルおよび他の情報をユーザに対して提示するようにディスプレイ454を駆動するための適切な回路機構を備えてもよい。制御インターフェース458は、コマンドをユーザから受信し、プロセッサ452への提出のために変換してもよい。さらに、外部インターフェース462が、モバイルコンピューティングデバイス450と他のデバイスの近距離通信を可能にするようにプロセッサ452との通信を提供してもよい。外部インターフェース462は、たとえばいくつかの実装形態ではワイヤード通信をまたは他の実装形態ではワイヤレス通信を提供してもよく、複数のインターフェースが使用される場合もある。
【００６１】
メモリ464は、モバイルコンピューティングデバイス450内に情報を記憶する。メモリ464は、1つもしくは複数のコンピュータ可読媒体、1つもしくは複数の揮発性メモリユニット、または1つもしくは複数の不揮発性メモリユニットのうちの1つまたは複数として実装することができる。また、拡張メモリ474が設けられ、拡張インターフェース472を通してモバイルコンピューティングデバイス450に接続されてもよく、インターフェース472は、たとえばSIMM(シングルインラインメモリモジュール)カードインターフェースを含んでもよい。拡張メモリ474は、モバイルコンピューティングデバイス450に余剰記憶空間を提供してもよく、またはモバイルコンピューティングデバイス450向けのアプリケーションもしくは他の情報を記憶してもよい。特に、拡張メモリ474は、上述したプロセスを実践し、または補うための命令を含んでもよく、またセキュアな情報を含んでもよい。したがって、たとえば拡張メモリ474は、モバイルコンピューティングデバイス450用のセキュリティモジュールとして設けられてもよく、モバイルコンピューティングデバイス450のセキュアな使用を許可する命令でプログラムされてもよい。さらに、ハッキングできないようにSIMMカード上に識別情報を置くなど、付加情報とともにSIMMカードを介してセキュアなアプリケーションが提供されてもよい。
【００６２】
メモリは、たとえば以下で論じるようにフラッシュメモリおよび/またはNVRAMメモリ(不揮発性ランダムアクセスメモリ)を含んでもよい。いくつかの実装形態では、命令は、1つまたは複数の処理デバイス(たとえば、プロセッサ452)によって命令が実行されると、上述したような1つまたは複数の方法を実施するように、情報キャリアに記憶される。命令は、1つまたは複数のコンピュータまたは機械可読媒体などの1つまたは複数の記憶デバイス(たとえば、メモリ464、拡張メモリ474、またはプロセッサ452上のメモリ)によって記憶することもできる。いくつかの実装形態において、命令は、たとえばトランシーバ468または外部インターフェース462を介して、伝搬される信号中で受信されることが可能である。
【００６３】
モバイルコンピューティングデバイス450は、必要な場合はデジタル信号処理回路機構を含んでもよい通信インターフェース466を通してワイヤレスに通信してもよい。通信インターフェース466は、中でも特にGSM(登録商標)ボイスコール(広域移動通信システム)、SMS(ショートメッセージサービス)、EMS(拡張メッセージングサービス)、もしくはMMSメッセージ通信(マルチメディアメッセージングサービス)、CDMA(符号分割多元接続)、TDMA(時分割多元接続)、PDC(パーソナルデジタルセルラー)、WCDMA(登録商標)(広帯域符号分割多元接続)、CDMA2000、またはGPRS(汎用パケット無線サービス)などの様々なモードまたはプロトコルの下で通信を提供する場合がある。そのような通信は、たとえば無線周波数を使用するトランシーバ468を通して起こる場合がある。さらに、たとえばBluetooth(登録商標)、WiFi、または他のそのようなトランシーバ(図示せず)を使用して、短距離通信が起こる場合がある。さらに、GPS(全地球測位システム)レシーバモジュール470が、追加ナビゲーションおよびロケーション関連ワイヤレスデータをモバイルコンピューティングデバイス450に提供してもよく、このデータは、必要に応じて、モバイルコンピューティングデバイス450上で稼動するアプリケーションによって使用されてもよい。
【００６４】
モバイルコンピューティングデバイス450はまた、オーディオコーデック460を使用して可聴的に通信してもよく、コーデック460は、発話情報をユーザから受信し、使用可能なデジタル情報に変換してもよい。オーディオコーデック460は同様に、たとえばモバイルコンピューティングデバイス450のハンドセット中のスピーカーを通すなどでユーザ向けの可聴音を生成してもよい。そのような音は、ボイス通話からの音を含んでもよく、記録された音(たとえば、ボイスメッセージ、音楽ファイルなど)を含んでよく、またモバイルコンピューティングデバイス450上で動作するアプリケーションによって生成された音を含んでもよい。
【００６５】
モバイルコンピューティングデバイス450は、図に示すように、いくつかの異なる形で実装されてもよい。たとえば、セルラー電話480として実装されてもよい。また、スマートフォン482、携帯情報端末、または他の同様のモバイルデバイスの一部として実装されてもよい。
【００６６】
ここに記載するシステムおよび技法の様々な実装形態は、デジタル電子回路機構、集積回路機構、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せで実現することができる。これらの様々な実装形態は、少なくとも1つのプログラム可能プロセッサを含むプログラム可能システム上で実行可能および/または翻訳可能な1つまたは複数のコンピュータプログラムでの実装を含むことができ、プログラム可能プロセッサは、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信するように、ならびにそれらにデータおよび命令を送信するように結合された、専用または一般的目的であってもよい。
【００６７】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られる)は、プログラム可能プロセッサ用の機械命令を含み、高度手続型および/もしくはオブジェクト指向プログラミング言語で、ならびに/またはアセンブリ/機械言語で実装されることが可能である。本明細書で使用する機械可読媒体およびコンピュータ可読媒体という用語は、機械命令を機械可読信号として受信する機械可読媒体を含むプログラム可能プロセッサに、機械命令および/またはデータを提供するのに使用される任意のコンピュータプログラム製品、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラム可能論理デバイス(PLD))も指す。機械可読信号という用語は、プログラム可能プロセッサに機械命令および/またはデータを提供するのに使用される任意の信号を指す。
【００６８】
ユーザとの対話を可能にするために、ここで記載するシステムおよび技法は、ユーザに情報を表示するための表示デバイス(たとえば、CRT(陰極線管)やLCD(液晶ディスプレイ)モニタ)と、ユーザがコンピュータに入力を提供することができるためのキーボードおよびポインティングデバイス(たとえば、マウスやトラックボール)とを有するコンピュータ上で実装することができる。他の種類のデバイスも、ユーザとの対話を可能にするのに使用することができ、たとえばユーザに与えられるフィードバックは、任意の形の感覚フィードバック(たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であることも可能であり、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形で受信することができる。
【００６９】
ここで記載するシステムおよび技法は、バックエンド構成要素を(たとえば、データサーバとして)含む、もしくはミドルウェア構成要素(たとえば、アプリケーションサーバ)を含む、もしくはフロントエンド構成要素(たとえば、ここで記載するシステムおよび技法の実装形態とユーザが対話することができるためのグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータ)、またはそのようなバックエンド、ミドルウェア、もしくはフロントエンド構成要素のどの組合せも含むコンピューティングシステムで実装することができる。システムの構成要素は、どの形または媒体のデジタルデータ通信(たとえば、通信ネットワーク)によっても相互接続することができる。通信ネットワークの例には、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、およびインターネットがある。
【００７０】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントとサーバは概して、互いから離れており、通常通信ネットワークを通して対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で稼動するとともに互いとのクライアント−サーバ関係を有するコンピュータプログラムにより発生する。
【００７１】
以上、いくつかの実装形態を詳しく記載したが、他の修正が可能である。たとえば、クライアントアプリケーションは、デリゲートにアクセスするものとして記載されているが、他の実装形態では、デリゲートが、1つまたは複数のサーバ上で実行するアプリケーションなどの1つまたは複数のプロセッサによって実装される他のアプリケーションによって利用されてもよい。さらに、図面に示される論理フローは、望ましい結果を達成するのに、図示される特定の順序、または順番を求めない。さらに、他のアクションが提供されてもよく、またはアクションが、記載したフローからなくされてもよく、他の構成要素が、記載したシステムに追加され、もしくはそこから削除されてもよい。したがって、他の実装形態は、以下の特許請求の範囲内である。
【符号の説明】
【００７２】
100  システム
102  オーディオデバイス、テレビジョン
106  コンピューティングデバイス
108  マイクロフォン
110  ホットワーダ
116  サーバ
118  オーディオフィンガープリンタ
120  フィンガープリント比較器
122  データベース、フィンガープリントデータベース
124  オーディオバッファ
400  コンピューティングデバイス
402  プロセッサ
404  メモリ
406  記憶デバイス
404  メモリ
410  高速拡張ポート
408  高速インターフェース
414  低速拡張ポート
406  記憶デバイス
412  低速インターフェース
416  ディスプレイ
424  ラックサーバシステム
450  モバイルコンピューティングデバイス
452  プロセッサ
454  ディスプレイ
456  ディスプレイインターフェース
458  制御インターフェース
460  オーディオコーデック
462  外部インターフェース
464  メモリ
466  通信インターフェース
468  トランシーバ
470  GPS(全地球測位システム)レシーバモジュール
472  拡張インターフェース
474  拡張メモリ
480  セルラー電話
482  スマートフォン
【図１】
2020034941.tif 000003
【図２】
2020034941.tif 000004
【図３】
2020034941.tif 000005
【図４】
2020034941.tif 000006
【手続補正書】
【提出日】令和1年12月2日(2019.12.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピューティングデバイスによって、発声のオーディオデータを受信するステップと、
前記コンピューティングデバイスによって、前記発声の前記オーディオデータがあらかじめ定義されたホットワードを含むと判断するステップと、
前記発声の前記オーディオデータが前記あらかじめ定義されたホットワードを含むと判断したことに応答して、前記コンピューティングデバイスによって、前記オーディオデータのオーディオフィンガープリントが記憶されたオーディオフィンガープリントと合致すると判断するステップと、
前記オーディオデータの前記オーディオフィンガープリントが前記記憶されたオーディオフィンガープリントと合致すると判断したことに基づいて、前記コンピューティングデバイスによって、前記発声の前記オーディオデータに対して音声認識を実施することを抑制するステップとを含む、コンピュータ実装方法。
【請求項２】
追加のコンピューティングデバイスに、前記オーディオデータに対する前記音声認識の前記実施が抑制されたという指示を提供するステップを含む、請求項1に記載のコンピュータ実装方法。
【請求項３】
前記オーディオデータは、メディアコンテンツのアイテムの再生に対応する、請求項1に記載のコンピュータ実装方法。
【請求項４】
前記コンピューティングデバイスは、(i)前記オーディオデータを受信し、(ii)前記発声の前記オーディオデータがあらかじめ定義されたホットワードを含むと判断し、(iii)前記オーディオデータの前記オーディオフィンガープリントが前記記憶されたオーディオフィンガープリントと合致すると判断し、(iv)前記発声の前記オーディオデータに対する前記音声認識を実施することを抑制する間、低電力状態に留まる、請求項1に記載のコンピュータ実装方法。
【請求項５】
前記発声の前記オーディオデータを受信する間、前記コンピューティングデバイスのディスプレイに、前記コンピューティングデバイスが前記発声の前記オーディオデータを受信中であることを示すデータを提供するステップを含む、請求項1に記載のコンピュータ実装方法。
【請求項６】
前記発声の前記オーディオデータを処理する間、前記コンピューティングデバイスのディスプレイに、前記コンピューティングデバイスが前記オーディオデータを処理中であることを示すデータを提供するステップを含む、請求項1に記載のコンピュータ実装方法。
【請求項７】
前記発声の前記オーディオデータを処理したことに応答して、前記コンピューティングデバイスの前記ディスプレイに、前記コンピューティングデバイスが前記コンピューティングデバイス上での前記音声認識の実施を抑制したことを示すデータを提供するステップを含む、請求項6に記載のコンピュータ実装方法。
【請求項８】
前記オーディオデータの前記オーディオフィンガープリントが記憶されたオーディオフィンガープリントと合致すると判断するステップは、
前記受信されたオーディオデータの部分の前記オーディオフィンガープリントを生成するステップと、
各々が、前記あらかじめ定義されたホットワードを含むかまたは前記あらかじめ定義されたホットワードに関連付けられた既知のオーディオ記録に関連付けられた、1つまたは複数の記憶されたオーディオフィンガープリントを記憶するデータベースに、前記オーディオフィンガープリントを提供するステップと、
前記データベースに、前記オーディオフィンガープリントを前記1つまたは複数の記憶されたオーディオフィンガープリントと比較するための要求を提供するステップと、
前記データベースが前記オーディオフィンガープリントを前記1つまたは複数の記憶されたオーディオフィンガープリントと比較したことに応答して、前記データベースから、前記オーディオフィンガープリントを前記1つまたは複数の記憶されたオーディオフィンガープリントと比較したことに基づく比較データを受信するステップとをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項９】
前記比較データは、前記オーディオフィンガープリントが記憶されたオーディオフィンガープリントと合致する見込みを示す合致スコアを含む、請求項8に記載のコンピュータ実装方法。
【請求項１０】
1つまたは複数のコンピュータと、命令を記憶する1つまたは複数のストレージデバイスとを備え、前記命令は、前記1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、
コンピューティングデバイスによって、発声のオーディオデータを受信することと、
前記コンピューティングデバイスによって、前記発声の前記オーディオデータがあらかじめ定義されたホットワードを含むと判断することと、
前記発声の前記オーディオデータが前記あらかじめ定義されたホットワードを含むと判断したことに応答して、前記コンピューティングデバイスによって、前記オーディオデータのオーディオフィンガープリントが記憶されたオーディオフィンガープリントと合致すると判断することと、
前記オーディオデータの前記オーディオフィンガープリントが前記記憶されたオーディオフィンガープリントと合致すると判断したことに基づいて、前記コンピューティングデバイスによって、前記発声の前記オーディオデータに対して音声認識を実施することを抑制することとを含む動作を実施させるように動作可能である、システム。
【請求項１１】
追加のコンピューティングデバイスに、前記オーディオデータに対する前記音声認識の前記実施が抑制されたという指示を提供することを含む、請求項10に記載のシステム。
【請求項１２】
前記オーディオデータは、メディアコンテンツのアイテムの再生に対応する、請求項10に記載のシステム。
【請求項１３】
前記コンピューティングデバイスは、(i)前記オーディオデータを受信し、(ii)前記発声の前記オーディオデータがあらかじめ定義されたホットワードを含むと判断し、(iii)前記オーディオデータの前記オーディオフィンガープリントが前記記憶されたオーディオフィンガープリントと合致すると判断し、(iv)前記発声の前記オーディオデータに対する前記音声認識を実施することを抑制する間、低電力状態に留まる、請求項10に記載のシステム。
【請求項１４】
前記発声の前記オーディオデータを受信する間、前記コンピューティングデバイスのディスプレイに、前記コンピューティングデバイスが前記発声の前記オーディオデータを受信中であることを示すデータを提供することを含む、請求項10に記載のシステム。
【請求項１５】
前記発声の前記オーディオデータを処理する間、前記コンピューティングデバイスのディスプレイに、前記コンピューティングデバイスが前記オーディオデータを処理中であることを示すデータを提供することを含む、請求項10に記載のシステム。
【請求項１６】
前記発声の前記オーディオデータを処理したことに応答して、前記コンピューティングデバイスの前記ディスプレイに、前記コンピューティングデバイスが前記コンピューティングデバイス上での前記音声認識の実施を抑制したことを示すデータを提供することを含む、請求項15に記載のシステム。
【請求項１７】
前記オーディオデータの前記オーディオフィンガープリントが記憶されたオーディオフィンガープリントと合致すると判断することは、
前記受信されたオーディオデータの部分の前記オーディオフィンガープリントを生成することと、
各々が、前記あらかじめ定義されたホットワードを含むかまたは前記あらかじめ定義されたホットワードに関連付けられた既知のオーディオ記録に関連付けられた、1つまたは複数の記憶されたオーディオフィンガープリントを記憶するデータベースに、前記オーディオフィンガープリントを提供することと、
前記データベースに、前記オーディオフィンガープリントを前記1つまたは複数の記憶されたオーディオフィンガープリントと比較するための要求を提供することと、
前記データベースが前記オーディオフィンガープリントを前記1つまたは複数の記憶されたオーディオフィンガープリントと比較したことに応答して、前記データベースから、前記オーディオフィンガープリントを前記1つまたは複数の記憶されたオーディオフィンガープリントと比較したことに基づく比較データを受信することとをさらに含む、請求項10に記載のシステム。
【請求項１８】
前記比較データは、前記オーディオフィンガープリントが記憶されたオーディオフィンガープリントと合致する見込みを示す合致スコアを含む、請求項17に記載のシステム。
【請求項１９】
1つまたは複数のコンピュータによって実行可能な命令を備えるソフトウェアを記憶する非一時的コンピュータ可読媒体であって、前記命令は、そのように実行されると、前記1つまたは複数のコンピュータに、
コンピューティングデバイスによって、発声のオーディオデータを受信することと、
前記コンピューティングデバイスによって、前記発声の前記オーディオデータがあらかじめ定義されたホットワードを含むと判断することと、
前記発声の前記オーディオデータが前記あらかじめ定義されたホットワードを含むと判断したことに応答して、前記コンピューティングデバイスによって、前記オーディオデータのオーディオフィンガープリントが記憶されたオーディオフィンガープリントと合致すると判断することと、
前記オーディオデータの前記オーディオフィンガープリントが前記記憶されたオーディオフィンガープリントと合致すると判断したことに基づいて、前記コンピューティングデバイスによって、前記発声の前記オーディオデータに対して音声認識を実施することを抑制することとを含む動作を実施させるように実行可能である、非一時的コンピュータ可読媒体。
【請求項２０】
追加のコンピューティングデバイスに、前記オーディオデータに対する前記音声認識の前記実施が抑制されたという指示を提供することを含む、請求項19に記載のコンピュータ可読媒体。
【外国語明細書】
2020034941000001.pdf