(57)【特許請求の範囲】
【請求項１】
コンピュータによって実施される方法であって、
モバイルコンピューティングデバイスが1つまたは複数のリソースへのアクセスが無効化されているモードで動作している間に受信された発声に対応するオーディオデータを受信するステップと、
前記オーディオデータがホットワードに対応すると判定するステップと、
前記ホットワードに対応すると判定された前記オーディオデータのホットワードオーディオフィンガプリントを生成するステップと、
前記ホットワードオーディオフィンガプリントと、前記ホットワードに対応すると以前に判定されたオーディオデータの1つまたは複数の記憶されたオーディオフィンガプリントとの間の類似性を判定するステップと、
前記ホットワードオーディオフィンガプリントと、前記1つまたは複数の記憶されたオーディオフィンガプリントのうちの1つとの間の前記類似性が、あらかじめ決定されたしきい値を満足するか否かに基づいて、前記ホットワードオーディオフィンガプリントが、前記ホットワードに対応すると以前に判定されたオーディオデータの記憶されたオーディオフィンガプリントと一致するか否かを検出するステップと、
前記ホットワードオーディオフィンガプリントが、記憶されたオーディオフィンガプリントと一致することを検出するステップに応じて、前記オーディオデータが前記ホットワードに対応すると判定していても、前記1つまたは複数のリソースへのアクセスが無効化されている前記モードを前記発声が話された前記モバイルコンピューティングデバイスが終了することを阻止するステップと
を備える方法。
【請求項２】
前記オーディオデータがホットワードに対応すると判定するステップは、
前記オーディオデータの1つまたは複数の音響特性を識別するステップと、
前記オーディオデータの前記1つまたは複数の音響特性を、データベースに記憶された1つまたは複数のホットワードに関連付けられた1つまたは複数の音響特性と比較するステップと、
前記オーディオデータの前記1つまたは複数の音響特性と、前記データベースに記憶された1つまたは複数のホットワードに関連付けられた前記1つまたは複数の音響特性との前記比較に基づいて、前記オーディオデータが、前記データベースに記憶された前記1つまたは複数のホットワードのうちの1つに対応すると判定するステップと
を備える、請求項1に記載のコンピュータによって実施される方法。
【請求項３】
前記ホットワードは、特定の用語に後続する1つまたは複数の用語のうちの追加の用語の意味的な解釈をトリガする前記特定の用語である、請求項1に記載のコンピュータによって実施される方法。
【請求項４】
音声コマンドまたはクエリに対応する追加のオーディオデータを受信するステップと、
前記音声コマンドまたはクエリのタイプを判定するステップであって、前記あらかじめ決定されたしきい値は、前記音声コマンドまたはクエリの前記タイプに基づいて調節される、判定するステップと
を備える、請求項1に記載のコンピュータによって実施される方法。
【請求項５】
前記オーディオデータがホットワードに対応すると判定するステップは、
前記オーディオデータの初期部分が、前記ホットワードの初期部分に対応すると判定するステップと、
前記オーディオデータの前記初期部分が、前記ホットワードの前記初期部分に対応すると判定するステップに応じて、複数のユニークな超音波オーディオサンプルのうちの1つを、前記オーディオデータの前記初期部分が受信された後に出力させるステップと
を備える、請求項1に記載のコンピュータによって実施される方法。
【請求項６】
前記受信されたオーディオデータが、前記複数のユニークな超音波オーディオサンプルのうちの1つに対応するオーディオデータを備えていると判定するステップと、
前記受信されたオーディオデータが、前記複数のユニークな超音波オーディオサンプルのうちの1つに対応するオーディオデータを備えていると判定するステップに応じて、前記モバイルコンピューティングデバイスへのアクセスを無効化するステップと
を備える、請求項5に記載のコンピュータによって実施される方法。
【請求項７】
1つまたは複数のコンピュータと、前記1つまたは複数のコンピュータによって実行された場合、前記1つまたは複数のコンピュータに対して、動作を実行させるように動作可能な命令を記憶した1つまたは複数の記憶デバイスとを備えるシステムであって、前記動作は、
モバイルコンピューティングデバイスが1つまたは複数のリソースへのアクセスが無効化されているモードで動作している間に受信された発声に対応するオーディオデータを受信するステップと、
前記オーディオデータがホットワードに対応すると判定するステップと、
前記ホットワードに対応すると判定された前記オーディオデータのホットワードオーディオフィンガプリントを生成するステップと、
前記ホットワードオーディオフィンガプリントと、前記ホットワードに対応すると以前に判定されたオーディオデータの1つまたは複数の記憶されたオーディオフィンガプリントとの間の類似性を判定するステップと、
前記ホットワードオーディオフィンガプリントと、前記1つまたは複数の記憶されたオーディオフィンガプリントのうちの1つとの間の前記類似性が、あらかじめ決定されたしきい値を満足するか否かに基づいて、前記ホットワードオーディオフィンガプリントが、前記ホットワードに対応すると以前に判定されたオーディオデータの記憶されたオーディオフィンガプリントと一致するか否かを検出するステップと、
前記ホットワードオーディオフィンガプリントが、記憶されたオーディオフィンガプリントと一致することを検出するステップに応じて、前記オーディオデータが前記ホットワードに対応すると判定していても、前記1つまたは複数のリソースへのアクセスが無効化されている前記モードを前記発声が話された前記モバイルコンピューティングデバイスが終了することを阻止するステップと
を備える、システム。
【請求項８】
前記オーディオデータがホットワードに対応すると判定するステップは、
前記オーディオデータの1つまたは複数の音響特性を識別するステップと、
前記オーディオデータの前記1つまたは複数の音響特性を、データベースに記憶された1つまたは複数のホットワードに関連付けられた1つまたは複数の音響特性と比較するステップと、
前記オーディオデータの前記1つまたは複数の音響特性と、前記データベースに記憶された1つまたは複数のホットワードに関連付けられた前記1つまたは複数の音響特性との前記比較に基づいて、前記オーディオデータが、前記データベースに記憶された前記1つまたは複数のホットワードのうちの1つに対応すると判定するステップと
を備える、請求項7に記載のシステム。
【請求項９】
前記ホットワードは、特定の用語に後続する1つまたは複数の用語のうちの追加の用語の意味的な解釈をトリガする前記特定の用語である、請求項7に記載のシステム。
【請求項１０】
前記動作は、
音声コマンドまたはクエリに対応する追加のオーディオデータを受信するステップと、
前記音声コマンドまたはクエリのタイプを判定するステップであって、前記あらかじめ決定されたしきい値は、前記音声コマンドまたはクエリの前記タイプに基づいて重み付けされる、判定するステップと
を備える、請求項7に記載のシステム。
【請求項１１】
前記オーディオデータがホットワードに対応すると判定するステップは、
前記オーディオデータの初期部分が、前記ホットワードの初期部分に対応すると判定するステップと、
前記オーディオデータの前記初期部分が、前記ホットワードの前記初期部分に対応すると判定するステップに応じて、複数のユニークな超音波オーディオサンプルのうちの1つを、前記オーディオデータの前記初期部分が受信された後に出力させるステップと
を備える、請求項7に記載のシステム。
【請求項１２】
前記動作は、
前記受信されたオーディオデータが、前記複数のユニークな超音波オーディオサンプルのうちの1つに対応するオーディオデータを備えていると判定するステップと、
前記受信されたオーディオデータが、前記複数のユニークな超音波オーディオサンプルのうちの1つに対応するオーディオデータを備えていると判定するステップに応じて、前記モバイルコンピューティングデバイスへのアクセスを無効化するステップと
を備える、請求項11に記載のシステム。
【請求項１３】
実行されると、1つまたは複数のコンピュータに対して動作を実行させる、前記1つまたは複数のコンピュータによって実行可能な命令を備えるソフトウェアを記憶するコンピュータ読取可能な記憶デバイスであって、前記動作は、
モバイルコンピューティングデバイスが1つまたは複数のリソースへのアクセスが無効化されているモードで動作している間に受信された発声に対応するオーディオデータを受信するステップと、
前記オーディオデータがホットワードに対応すると判定するステップと、
前記ホットワードに対応すると判定された前記オーディオデータのホットワードオーディオフィンガプリントを生成するステップと、
前記ホットワードオーディオフィンガプリントと、前記ホットワードに対応すると以前に判定されたオーディオデータの1つまたは複数の記憶されたオーディオフィンガプリントとの間の類似性を判定するステップと、
前記ホットワードオーディオフィンガプリントと、前記1つまたは複数の記憶されたオーディオフィンガプリントのうちの1つとの間の前記類似性が、あらかじめ決定されたしきい値を満足するか否かに基づいて、前記ホットワードオーディオフィンガプリントが、前記ホットワードに対応すると以前に判定されたオーディオデータの記憶されたオーディオフィンガプリントと一致するか否かを検出するステップと、
前記ホットワードオーディオフィンガプリントが、記憶されたオーディオフィンガプリントと一致することを検出するステップに応じて、前記オーディオデータが前記ホットワードに対応すると判定していても、前記1つまたは複数のリソースへのアクセスが無効化されている前記モードを前記発声が話された前記モバイルコンピューティングデバイスが終了することを阻止するステップと
を備える、コンピュータ読取可能な記憶デバイス。
【請求項１４】
前記オーディオデータがホットワードに対応すると判定するステップは、
前記オーディオデータの1つまたは複数の音響特性を識別するステップと、
前記オーディオデータの前記1つまたは複数の音響特性を、データベースに記憶された1つまたは複数のホットワードに関連付けられた1つまたは複数の音響特性と比較するステップと、
前記オーディオデータの前記1つまたは複数の音響特性と、前記データベースに記憶された1つまたは複数のホットワードに関連付けられた前記1つまたは複数の音響特性との前記比較に基づいて、前記オーディオデータが、前記データベースに記憶された前記1つまたは複数のホットワードのうちの1つに対応すると判定するステップと
を備える、請求項13に記載のコンピュータ読取可能な記憶デバイス。
【請求項１５】
前記ホットワードは、特定の用語に後続する1つまたは複数の用語のうちの追加の用語の意味的な解釈をトリガする前記特定の用語である、請求項13に記載のコンピュータ読取可能な記憶デバイス。
【請求項１６】
前記動作は、
音声コマンドまたはクエリに対応する追加のオーディオデータを受信するステップと、
前記音声コマンドまたはクエリのタイプを判定するステップであって、前記あらかじめ決定されたしきい値は、前記音声コマンドまたはクエリの前記タイプに基づいて重み付けされる、判定するステップと
を備える、請求項13に記載のコンピュータ読取可能な記憶デバイス。
【請求項１７】
前記オーディオデータがホットワードに対応すると判定するステップは、
前記オーディオデータの初期部分が、前記ホットワードの初期部分に対応すると判定するステップと、
前記オーディオデータの前記初期部分が、前記ホットワードの前記初期部分に対応すると判定するステップに応じて、複数のユニークな超音波オーディオサンプルのうちの1つを、前記オーディオデータの前記初期部分が受信された後に出力させるステップと、
前記受信されたオーディオデータが、前記複数のユニークな超音波オーディオサンプルのうちの1つに対応するオーディオデータを備えていると判定するステップと、
前記受信されたオーディオデータが、前記複数のユニークな超音波オーディオサンプルのうちの1つに対応するオーディオデータを備えていると判定するステップに応じて、前記モバイルコンピューティングデバイスへのアクセスを無効化するステップと
を備える、請求項13に記載のコンピュータ読取可能な記憶デバイス。
【請求項１８】
コンピュータによって実施される方法であって、
1つまたは複数のリソースへのアクセスが無効化されているモードで動作しているモバイルコンピューティングデバイスによって、以前に同一のモバイルコンピューティングデバイスに入力されたホットワードの発声の記録に対応するオーディオ入力を受信するステップと、
前記オーディオ入力がホットワードに対応すると判定するステップと、
前記モバイルコンピューティングデバイスによって、以前に同一のモバイルコンピューティングデバイスに入力されたホットワードの発声の記録に対応する前記オーディオ入力を受信することに応じて、前記オーディオ入力が前記ホットワードに対応すると判定していても、前記モバイルコンピューティングデバイスによって、前記1つまたは複数のリソースへのアクセスが無効化されている前記モードを終了することを阻止するステップと
を備える方法。
【請求項１９】
以前に入力された前記ホットワードの前記発声は、データベースに記憶される、請求項18に記載のコンピュータによって実施される方法。
【請求項２０】
前記ホットワードは、特定の用語に後続する1つまたは複数の用語のうちの追加の用語の意味的な解釈をトリガする前記特定の用語である、請求項18に記載のコンピュータによって実施される方法。
【請求項２１】
前記オーディオ入力と前記ホットワードの1つまたは複数の記憶された発声との間の類似性に基づいて、以前に入力されたホットワード発声に対応する前記オーディオ入力を判定するステップをさらに備える、請求項18に記載のコンピュータによって実施される方法。
【請求項２２】
前記モバイルコンピューティングデバイスによって、前記1つまたは複数のリソースへのアクセスが無効化されている前記モードを終了することを阻止するステップは、
前記モバイルコンピューティングデバイスがロック解除されることを阻止するステップと、
前記モバイルコンピューティングデバイスをロックするステップと、
認証プロセスを開始するステップと、
前記モバイルコンピューティングデバイスがウェイクすることを阻止するステップ
の1つまたは複数を含む、請求項18に記載のコンピュータによって実施される方法。
【請求項２３】
前記モバイルコンピューティングデバイスによって、音声コマンドまたはクエリに対応する追加のオーディオデータを受信するステップと、
前記音声コマンドまたはクエリのタイプを判定するステップと
をさらに備える、請求項18に記載のコンピュータによって実施される方法。
【請求項２４】
データベース内に、以前に同一のモバイルコンピューティングデバイスに入力されたホットワードの発声の記録に対応する前記オーディオ入力を記憶するステップ
をさらに備える、請求項18に記載のコンピュータによって実施される方法。
【請求項２５】
1つまたは複数のコンピュータと、前記1つまたは複数のコンピュータによって実行された場合、前記1つまたは複数のコンピュータに対して、動作を実行させるように動作可能な命令を記憶した1つまたは複数の記憶デバイスとを備えるシステムであって、前記動作は、
1つまたは複数のリソースへのアクセスが無効化されているモードで動作しているモバイルコンピューティングデバイスによって、以前に同一のモバイルコンピューティングデバイスに入力されたホットワードの発声の記録に対応するオーディオ入力を受信するステップと、
前記オーディオ入力がホットワードに対応すると判定するステップと、
前記モバイルコンピューティングデバイスによって、以前に同一のモバイルコンピューティングデバイスに入力されたホットワードの発声の記録に対応する前記オーディオ入力を、受信することに応じて、前記オーディオ入力が前記ホットワードに対応すると判定していても、前記モバイルコンピューティングデバイスによって、前記1つまたは複数のリソースへのアクセスが無効化されている前記モードを終了することを阻止するステップと
を備えるシステム。
【請求項２６】
以前に入力された前記ホットワードの前記発声は、データベースに記憶される、請求項25に記載のシステム。
【請求項２７】
前記ホットワードは、特定の用語に後続する1つまたは複数の用語のうちの追加の用語の意味的な解釈をトリガする前記特定の用語である、請求項25に記載のシステム。
【請求項２８】
前記オーディオ入力と前記ホットワードの1つまたは複数の記憶された発声との間の類似性に基づいて、以前に入力されたホットワード発声に対応する前記オーディオ入力を判定するステップをさらに備える、請求項25に記載のシステム。
【請求項２９】
前記モバイルコンピューティングデバイスによって、前記1つまたは複数のリソースへのアクセスが無効化されている前記モードを終了することを阻止するステップは、
前記モバイルコンピューティングデバイスがロック解除されることを阻止するステップと、
前記モバイルコンピューティングデバイスをロックするステップと、
認証プロセスを開始するステップと、
前記モバイルコンピューティングデバイスがウェイクすることを阻止するステップ
の1つまたは複数を含む、請求項25に記載のシステム。
【請求項３０】
前記モバイルコンピューティングデバイスによって、音声コマンドまたはクエリに対応する追加のオーディオデータを受信するステップと、
前記音声コマンドまたはクエリのタイプを判定するステップと
をさらに備える、請求項25に記載のシステム。
【請求項３１】
データベース内に、以前に同一のモバイルコンピューティングデバイスに入力されたホットワードの発声の記録に対応する前記オーディオ入力を記憶するステップをさらに備える、請求項25に記載のシステム。
【請求項３２】
実行されると、1つまたは複数のコンピュータに対して動作を実行させる、前記1つまたは複数のコンピュータによって実行可能な命令を備えるソフトウェアを記憶するコンピュータ読取可能な記憶デバイスであって、前記動作は、
1つまたは複数のリソースへのアクセスが無効化されているモードで動作しているモバイルコンピューティングデバイスによって、以前に同一のモバイルコンピューティングデバイスに入力されたホットワードの発声の記録に対応するオーディオ入力を受信するステップと、
前記オーディオ入力がホットワードに対応すると判定するステップと、
前記モバイルコンピューティングデバイスによって、以前に同一のモバイルコンピューティングデバイスに入力されたホットワードの発声の記録に対応する前記オーディオ入力を、受信することに応じて、前記オーディオ入力が前記ホットワードに対応すると判定していても、前記モバイルコンピューティングデバイスによって、前記1つまたは複数のリソースへのアクセスが無効化されている前記モードを終了することを阻止するステップと
を備える、コンピュータ読取可能な記憶デバイス。
【請求項３３】
以前に入力された前記ホットワードの前記発声は、データベースに記憶される、請求項32に記載のコンピュータ読取可能な記憶デバイス。
【請求項３４】
前記ホットワードは、特定の用語に後続する1つまたは複数の用語のうちの追加の用語の意味的な解釈をトリガする前記特定の用語である、請求項32に記載のコンピュータ読取可能な記憶デバイス。
【請求項３５】
前記オーディオ入力と前記ホットワードの1つまたは複数の記憶された発声との間の類似性に基づいて、以前に入力されたホットワード発声に対応する前記オーディオ入力を判定するステップをさらに備える、請求項32に記載のコンピュータ読取可能な記憶デバイス。
【請求項３６】
前記モバイルコンピューティングデバイスによって、前記1つまたは複数のリソースへのアクセスが無効化されている前記モードを終了することを阻止するステップは、
前記モバイルコンピューティングデバイスがロック解除されることを阻止するステップと、
前記モバイルコンピューティングデバイスをロックするステップと、
認証プロセスを開始するステップと、
前記モバイルコンピューティングデバイスがウェイクすることを阻止するステップ
の1つまたは複数を含む、請求項32に記載のコンピュータ読取可能な記憶デバイス。
【請求項３７】
前記モバイルコンピューティングデバイスによって、音声コマンドまたはクエリに対応する追加のオーディオデータを受信するステップと、
前記音声コマンドまたはクエリのタイプを判定するステップと
をさらに備える、請求項32に記載のコンピュータ読取可能な記憶デバイス。
【請求項３８】
コンピュータによって実施される方法であって、
1つまたは複数のリソースへのアクセスが無効化されているモードで動作しているモバイルコンピューティングデバイスによって、ホットワードの初期部分の発声に対応する初期のオーディオ入力を受信するステップと、
前記初期のオーディオ入力が前記ホットワードの前記初期部分の前記発声に対応するとの決定に応じて、前記ホットワードの残存部分が発声されている間であるとともに、前記ホットワードが完全に発生される前に、前記モバイルコンピューティングデバイスによって、前記モバイルコンピューティングデバイスのスピーカを介して出力するための検証オーディオを提供するステップと、
前記ホットワードが完全に発生された後に、前記モバイルコンピューティングデバイスによって、前記1つまたは複数のリソースへのアクセスが無効化されている前記モードを選択的に終了するステップと
を備える方法。
【請求項３９】
前記検証オーディオは、複数のユニークな超音波オーディオサンプルのうちの1つを備える、請求項38に記載のコンピュータによって実施される方法。
【請求項４０】
前記ホットワードは、特定の用語に後続する1つまたは複数の用語のうちの追加の用語の意味的な解釈をトリガする前記特定の用語である、請求項38に記載のコンピュータによって実施される方法。
【請求項４１】
前記モバイルコンピューティングデバイスによって、ホットワードの前記残存部分の発声に対応する追加のオーディオ入力を受信するステップと、
ホットワードの初期部分の発声に対応する前記初期のオーディオ入力、または、ホットワードの前記残存部分の発声に対応する前記追加のオーディオ入力、のいずれか一方が、前記モバイルコンピューティングデバイスのスピーカを介して出力するために提供された前記検証オーディオとは異なる検証オーディオに対応するオーディオデータを備える、ことを判定するステップと、
前記モバイルコンピューティングデバイスの1つまたは複数のリソースへのアクセスを無効化するステップと
をさらに備える、請求項38に記載のコンピュータによって実施される方法。
【請求項４２】
前記モバイルコンピューティングデバイスの1つまたは複数のリソースへのアクセスを無効化するステップは、
前記モバイルコンピューティングデバイスがロック解除されることを阻止するステップと、
前記モバイルコンピューティングデバイスをロックするステップと、
認証プロセスを開始するステップと、
前記モバイルコンピューティングデバイスがウェイクすることを阻止するステップ
の1つまたは複数を含む、請求項41に記載のコンピュータによって実施される方法。
【請求項４３】
前記モバイルコンピューティングデバイスによって、ホットワードの前記残存部分の発声に対応する追加のオーディオ入力を受信するステップと、
ホットワードの初期部分の発声に対応する前記初期のオーディオ入力と、ホットワードの前記残存部分の発声に対応する前記追加のオーディオ入力とを、まとめて、全ホットワードに対応するか、判定するステップと
をさらに備え、
前記モードを選択的に終了するステップは、ホットワードの初期部分の発声に対応する前記初期のオーディオ入力と、ホットワードの前記残存部分の発声に対応する前記追加のオーディオ入力とを、まとめて、全ホットワードに対応するか、判定するステップの少なくとも一部に基づく、請求項38に記載のコンピュータによって実施される方法。
【請求項４４】
前記検証オーディオは、ホットワードの初期部分の発声に対応する前記初期のオーディオ入力に関連付けられてデータベースに記憶される、請求項38に記載のコンピュータによって実施される方法。
【請求項４５】
1つまたは複数のコンピュータと、前記1つまたは複数のコンピュータによって実行された場合、前記1つまたは複数のコンピュータに対して、動作を実行させるように動作可能な命令を記憶した1つまたは複数の記憶デバイスとを備えるシステムであって、前記動作は、
1つまたは複数のリソースへのアクセスが無効化されているモードで動作しているモバイルコンピューティングデバイスによって、ホットワードの初期部分の発声に対応する初期のオーディオ入力を受信するステップと、
前記初期のオーディオ入力が前記ホットワードの前記初期部分の前記発声に対応するとの決定に応じて、前記ホットワードの残存部分が発声されている間であるとともに、前記ホットワードが完全に発生される前に、前記モバイルコンピューティングデバイスによって、前記モバイルコンピューティングデバイスのスピーカを介して出力するための検証オーディオを提供するステップと、
前記ホットワードが完全に発生された後に、前記モバイルコンピューティングデバイスによって、前記1つまたは複数のリソースへのアクセスが無効化されている前記モードを選択的に終了するステップと
を備えるシステム。
【請求項４６】
前記検証オーディオは、複数のユニークな超音波オーディオサンプルのうちの1つを備える、請求項45に記載のシステム。
【請求項４７】
前記ホットワードは、特定の用語に後続する1つまたは複数の用語のうちの追加の用語の意味的な解釈をトリガする前記特定の用語である、請求項45に記載のシステム。
【請求項４８】
前記動作は、
前記モバイルコンピューティングデバイスによって、ホットワードの前記残存部分の発声に対応する追加のオーディオ入力を受信するステップと、
ホットワードの初期部分の発声に対応する前記初期のオーディオ入力、または、ホットワードの前記残存部分の発声に対応する前記追加のオーディオ入力、のいずれか一方が、前記モバイルコンピューティングデバイスのスピーカを介して出力するために提供された前記検証オーディオとは異なる検証オーディオに対応するオーディオデータを備える、ことを判定するステップと、
前記モバイルコンピューティングデバイスの1つまたは複数のリソースへのアクセスを無効化するステップと
をさらに備える、請求項45に記載のシステム。
【請求項４９】
前記モバイルコンピューティングデバイスの1つまたは複数のリソースへのアクセスを無効化するステップは、
前記モバイルコンピューティングデバイスがロック解除されることを阻止するステップと、
前記モバイルコンピューティングデバイスをロックするステップと、
認証プロセスを開始するステップと、
前記モバイルコンピューティングデバイスがウェイクすることを阻止するステップ
の1つまたは複数を含む、請求項48に記載のシステム。
【請求項５０】
前記動作は、
前記モバイルコンピューティングデバイスによって、ホットワードの前記残存部分の発声に対応する追加のオーディオ入力を受信するステップと、
ホットワードの初期部分の発声に対応する前記初期のオーディオ入力と、ホットワードの前記残存部分の発声に対応する前記追加のオーディオ入力とを、まとめて、全ホットワードに対応するか、判定するステップと
をさらに備え、
前記モードを選択的に終了するステップは、ホットワードの初期部分の発声に対応する前記初期のオーディオ入力と、ホットワードの前記残存部分の発声に対応する前記追加のオーディオ入力とを、まとめて、全ホットワードに対応するか、判定するステップの少なくとも一部に基づく、請求項45に記載のシステム。
【請求項５１】
前記検証オーディオは、ホットワードの初期部分の発声に対応する前記初期のオーディオ入力に関連付けられてデータベースに記憶される、請求項45に記載のシステム。
【請求項５２】
実行されると、1つまたは複数のコンピュータに対して動作を実行させる、前記1つまたは複数のコンピュータによって実行可能な命令を備えるソフトウェアを記憶するコンピュータ読取可能な記憶デバイスであって、前記動作は、
1つまたは複数のリソースへのアクセスが無効化されているモードで動作しているモバイルコンピューティングデバイスによって、ホットワードの初期部分の発声に対応する初期のオーディオ入力を受信するステップと、
前記初期のオーディオ入力が前記ホットワードの前記初期部分の前記発声に対応するとの決定に応じて、前記ホットワードの残存部分が発声されている間であるとともに、前記ホットワードが完全に発生される前に、前記モバイルコンピューティングデバイスによって、前記モバイルコンピューティングデバイスのスピーカを介して出力するための検証オーディオを提供するステップと、
前記ホットワードが完全に発生された後に、前記モバイルコンピューティングデバイスによって、前記1つまたは複数のリソースへのアクセスが無効化されている前記モードを選択的に終了するステップと
を備える、コンピュータ読取可能な記憶デバイス。
【請求項５３】
前記検証オーディオは、複数のユニークな超音波オーディオサンプルのうちの1つを備える、請求項52に記載のコンピュータ読取可能な記憶デバイス。
【請求項５４】
前記ホットワードは、特定の用語に後続する1つまたは複数の用語のうちの追加の用語の意味的な解釈をトリガする前記特定の用語である、請求項52に記載のコンピュータ読取可能な記憶デバイス。
【請求項５５】
前記動作は、
前記モバイルコンピューティングデバイスによって、ホットワードの前記残存部分の発声に対応する追加のオーディオ入力を受信するステップと、
ホットワードの初期部分の発声に対応する前記初期のオーディオ入力、または、ホットワードの前記残存部分の発声に対応する前記追加のオーディオ入力、のいずれか一方が、前記モバイルコンピューティングデバイスのスピーカを介して出力するために提供された前記検証オーディオとは異なる検証オーディオに対応するオーディオデータを備える、ことを判定するステップと、
前記モバイルコンピューティングデバイスの1つまたは複数のリソースへのアクセスを無効化するステップと
をさらに備える、請求項52に記載のコンピュータ読取可能な記憶デバイス。
【請求項５６】
前記モバイルコンピューティングデバイスの1つまたは複数のリソースへのアクセスを無効化するステップは、
前記モバイルコンピューティングデバイスがロック解除されることを阻止するステップと、
前記モバイルコンピューティングデバイスをロックするステップと、
認証プロセスを開始するステップと、
前記モバイルコンピューティングデバイスがウェイクすることを阻止するステップ
の1つまたは複数を含む、請求項55に記載のコンピュータ読取可能な記憶デバイス。
【請求項５７】
前記動作は、
前記モバイルコンピューティングデバイスによって、ホットワードの前記残存部分の発声に対応する追加のオーディオ入力を受信するステップと、
ホットワードの初期部分の発声に対応する前記初期のオーディオ入力と、ホットワードの前記残存部分の発声に対応する前記追加のオーディオ入力とを、まとめて、全ホットワードに対応するか、判定するステップと
さらに備え、
前記モードを選択的に終了するステップは、ホットワードの初期部分の発声に対応する前記初期のオーディオ入力と、ホットワードの前記残存部分の発声に対応する前記追加のオーディオ入力とを、まとめて、全ホットワードに対応するか、判定するステップの少なくとも一部に基づく、請求項52に記載のコンピュータ読取可能な記憶デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願に対する相互参照
本願は、その内容が参照によって本明細書に組み込まれている2015年10月16日出願の米国仮出願番号第62/242,650号の利益を主張する。
【０００２】
本明細書は、一般に音声認識に関する。
【背景技術】
【０００３】
自動音声認識は、コンピューティングデバイスにおいて使用される重要な技術である。電子デバイスのための音声認識サービスは、一般に、話された単語を含む音声発声をユーザから受信し、話された単語をテキストへ書き換える。音声発声は、ホットワード、すなわち、システムまたはデバイスに対して、対応する動作を実行させるあらかじめ決定された予約された単語を含み得る。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許公開第2015/0279351 A1号
【特許文献２】米国特許第8,411,977 B1号
【特許文献３】米国特許第8,768,712 B1号
【発明の概要】
【課題を解決するための手段】
【０００５】
本開示の実施は、たとえば、音声を介したモバイルデバイスへのアクセスをロック解除または有効にするためにホットワードを使用して、リプレイ攻撃を阻止する、ホットワード認識に関する。リプレイ攻撃は、無許可のユーザが、デバイスの所有者または許可されたユーザによって話されたホットワードに関するオーディオをキャプチャし、デバイスへのあるレベルの無許可のアクセスを得るためにそれをリプレイする処理である。本開示の実施に従って、ホットワードすなわち任意の音声ベースのリプレイ攻撃は、各発声のユニークさを検証することによって阻止され得る。特に、特定のデバイスについて、または、特定のユーザについて、認識された最も直近の、最後のN個の、または、すべてのホットワード発声が録音され、記憶され得る。各ホットワード発声について、オーディオフィンガプリントが生成され記憶され得る。そして、同じ発声オーディオが以前に使用されているか否かをチェックするために、新たな発声から生成されたオーディオフィンガプリントと、以前に録音された各オーディオフィンガプリントとの間の比較が実行され得、リプレイが示される。それに加えて、いくつかの実施では、たとえば、リプレイ攻撃の有効性をさらに制限するために、超音波オーディオインジェクションおよび発声間検証のような他の信号が使用され得る。
【０００６】
この明細書に記述された主題の革新的な1つの態様は、発声に対応するオーディオデータを受信するステップと、オーディオデータがホットワードに対応すると判定するステップと、ホットワードに対応すると判定されたオーディオデータのホットワードオーディオフィンガプリントを生成するステップと、ホットワードオーディオフィンガプリントと、ホットワードに対応すると以前に判定されたオーディオデータの1つまたは複数の記憶されたオーディオフィンガプリントとの間の類似性を判定するステップと、ホットワードオーディオフィンガプリントと、1つまたは複数の記憶されたオーディオフィンガプリントのうちの1つとの間の類似性が、あらかじめ決定されたしきい値を満足するか否かに基づいて、ホットワードオーディオフィンガプリントが、ホットワードに対応すると以前に判定されたオーディオデータの記憶されたオーディオフィンガプリントと一致するか否かを検出するステップと、ホットワードオーディオフィンガプリントが、記憶されたオーディオフィンガプリントと一致することを検出するステップに応じて、発声が話されたコンピューティングデバイスへのアクセスを無効化するステップと、からなる動作を含む方法において具体化される。
【０００７】
一般に、この明細書に記述された主題の別の態様は、追加の発声に対応する追加のオーディオデータを受信するステップと、追加のオーディオデータを使用して、話者識別d-ベクトルを識別するステップと、追加のオーディオデータからの話者識別d-ベクトルと、発声に対応するオーディオデータからのホットワードd-ベクトルとの間の類似性を判定するステップと、発声に対応するオーディオデータからのホットワードd-ベクトルと追加のオーディオデータからの話者識別d-ベクトルとの間の類似性が特定のしきい値を満足するか否かに基づいて、ホットワードに対応するオーディオデータが追加のオーディオデータに一致するか否かを検出するステップと、ホットワードに対応するオーディオデータが追加のオーディオデータに一致しないことを検出するステップに応じて、コンピューティングデバイスへのアクセスを無効化するステップと、からなる動作を含む方法において具体化され得る。
【０００８】
この明細書に記述された主題の別の態様に従って、ホットワードは、特定の用語に後続する1つまたは複数の用語のうちの追加の用語の意味的な解釈をトリガする特定の用語であり得る。特定の用語に後続する1つまたは複数の用語のうちの追加の用語は、クエリまたはコマンドに関連付けられ得る。
【０００９】
この明細書に記述された主題の別の態様は、音声コマンドまたはクエリに対応する追加のオーディオデータを受信するステップと、音声コマンドまたはクエリのタイプを判定するステップと、からなる動作を含む方法において具体化され得る。さらに、あらかじめ決定されたしきい値が、判定された音声コマンドまたはクエリのタイプに基づいて調節され得る。
【００１０】
これらおよび他の実施は各々、オプションで、以下の特性のうちの1つまたは複数を含み得る。たとえば、オーディオデータがホットワードに対応すると判定するステップは、オーディオデータの1つまたは複数の音響特性を識別するステップと、オーディオデータの1つまたは複数の音響特性を、データベースに記憶された1つまたは複数のホットワードに関連付けられた1つまたは複数の音響特性と比較するステップと、オーディオデータの1つまたは複数の音響特性と、データベースに記憶された1つまたは複数のホットワードに関連付けられた1つまたは複数の音響特性との比較に基づいて、オーディオデータが、データベースに記憶された1つまたは複数のホットワードのうちの1つに対応すると判定するステップと、を含み得る。
【００１１】
いくつかの実施では、オーディオデータがホットワードに対応すると判定するステップは、オーディオデータの初期部分が、ホットワードの初期部分に対応すると判定するステップと、オーディオデータの初期部分が、ホットワードの初期部分に対応すると判定するステップに応じて、複数のユニークな超音波オーディオサンプルのうちの1つを、オーディオデータの初期部分が受信された後に出力させるステップと、を含む。
【００１２】
この明細書に記述された主題の別の態様は、受信されたオーディオデータが、複数のユニークな超音波オーディオサンプルのうちの1つに対応するオーディオデータを備えていると判定するステップと、受信されたオーディオデータが、複数のユニークな超音波オーディオサンプルのうちの1つに対応するオーディオデータを備えていると判定するステップに応じて、コンピューティングデバイスへのアクセスを無効化するステップと、からなる動作を含む方法において具体化され得る。
【００１３】
これらの態様の他の実施は、方法の動作を実行するように構成され、コンピュータ記憶デバイスにおいてエンコードされた、対応するシステム、装置、およびコンピュータプログラムを含む。
【００１４】
本発明の1つまたは複数の実施の詳細は、以下の添付図面および詳細説明において述べられる。本発明の他の特性および利点は、詳細説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１５】
【図１】本発明に実施に従って、ホットワードを検出し検証するための例示的なシステムの図示である。
【図２Ａ】本発明の実施に従って、ホットワードを検出し検証するための例示的な処理の図解である。
【図２Ｂ】本発明の実施に従って、ホットワードを検出し検証するための例示的な処理の図解である。
【図３】本発明の実施に従って、ホットワードを検出し検証するための例示的なフローチャートである。
【図４】本明細書で記述された技術を実施するために使用され得るコンピュータデバイスおよびモバイルコンピュータデバイスの図示である。
【発明を実施するための形態】
【００１６】
様々な図面において、同一の参照番号および指定が、同一の要素を示す。
【００１７】
図1は、本発明の実施に従って、ホットワードを検出し検証するための例示的なシステム100を描写する。そのようなシステム100は、リプレイ攻撃を阻止し得る。いくつかの実施では、システム100は、オーディオサブシステム120、ホットワード検出器130、オーディオフィンガプリント生成器140、およびリプレイ攻撃エンジン150を含む。いくつかの例において、システム100は、たとえば、スマートフォン、ラップトップコンピュータ、デスクトップまたはパーソナルコンピュータ、タブレット等、またはこれらの組合せのようなコンピューティングデバイスにおいて具体化され得る。コンピューティングデバイスは、ユーザからの発声の検出するための、たとえばマイクロフォンのような任意のオーディオ検出手段を含み得る。
【００１８】
本開示の実施は、たとえば、音声を介したモバイルデバイスへのアクセスをロック解除または有効にするためにホットワードを使用して、ホットワード認識を有効にする。ホットワードの使用を有効にする1つの方式は、常にオンされているホットワード認識による。常にオンされているホットワード認識は、コンピューティングデバイスをウェイクアップし、動作を開始させるために、たとえば「オーケーコンピュータ」のようなあらかじめ定義されたフレーズを求めて連続的にリスンする処理である。フル音声認識器の実行によるホットワード検出の1つの利点は、固定されたトリガフレーズしか認識される必要がないので、ホットワード検出が、高度に効率的かつロバストな認識を可能にすることである。さらに、ホットワード認識は、入力された発声に対して音声認識を実行することなく、入力された音声のオーディオ特性を、既知のホットワードの発声のオーディオ特性と比較するステップを含み得る。そのような動作は、音声認識器を実装するよりも劇的に少ない計算機費用で実行され得る。
【００１９】
話されたホットワードが、デバイスへのアクセスを提供するので、ホットワードは、特定の発声であり、ホットワードは、声を出して話され、ホットワード認識の使用は、リプレイ攻撃に影響されやすいことがあり得る。リプレイ攻撃は、無許可のユーザが、デバイスの所有者または許可されたユーザによって話されたホットワードに関するオーディオをキャプチャし、デバイスへのあるレベルの無許可のアクセスを得るためにそれをリプレイする処理である。本開示の実施に従って、ホットワードすなわち任意の音声ベースのリプレイ攻撃は、各発声のユニークさを検証することによって禁じられ得る。
【００２０】
いくつかの実施では、デバイスの所有者によって話されていない発声をフィルタするために、常にオンされているホットワード認識が、話者検証と組み合わされて使用され得る。ホットワード認識はテキスト依存である、すなわち、話された発声は、所与のホットワードに関して同じであるので、話者検証のホットワード認識との組合せは有利である。
【００２１】
いくつかの実施では、ユーザは、コンピューティングデバイスが発声として検出する1つまたは複数の単語を言い得る。この発声は、コンピューティングデバイスによって実行されるべき動作を引き起こす、1つまたは複数のホットワード、または部分的なホットワードを含み得る。
【００２２】
いくつかの実施では、コンピューティングデバイスがロックされている場合、ホットワードは、デバイスへの部分的または完全なアクセスを与える手法として動作し得る。たとえば、スクリーンがオフ、および/または、デバイスがロックされている場合、ユーザが「オーケーコンピュータ」と言い、話者プロファイルが正しく検証されると、「私の次の会議はいつ」、「上司へメッセージを送る」等のようなプライベートのまたは機密のデータへアクセスするいくつかのクエリが許可され得る。いくつかの実施では、ホットワードは、「電子メールを送る」のような音声動作をユーザが実行することを許可し得るか、または、特に、位置のような追加のコンテキスト信号と組み合わされた場合に、デバイスを完全にロック解除するために使用され得る。
【００２３】
例示された例に描写されるように、ユーザは、たとえば「オーケーコンピュータ」と言い得る。コンピューティングデバイスは、発声「オーケーコンピュータ」110のオーディオデータをオーディオサブシステム120が適切に受信することで、発声「オーケーコンピュータ」110を検出し得る。
【００２４】
例示された例において、オーディオサブシステム120は、発声「オーケーコンピュータ」110に関連付けられたオーディオデータを受信し得る。受信されたオーディオデータは、一連の発声のオーディオフレーム、または、この発声に関連付けられた、あらかじめ決定された時間長のオーディオデータを含み得る。いくつかの実施では、オーディオサブシステム120は、発声の一部、または、発声の実質的な全体部分を含む波形データを生成するために、この発声を処理し得る。
【００２５】
いくつかの実施では、オーディオサブシステム120は、受信されたオーディオデータを適切に処理し得る。たとえば、オーディオサブシステム120は、オーディオデータの1つまたは複数の音響特性を識別し得る。例示された例において、オーディオサブシステム120は、発声「オーケーコンピュータ」に関連付けられたオーディオデータに関連付けられた音響特性を識別し得る。
【００２６】
いくつかの実施では、オーディオサブシステム120は、処理されたオーディオデータを、ホットワード検出器130へ提供し得る。たとえば、オーディオサブシステム120は、発声「オーケーコンピュータ」に関連付けられた、処理されたオーディオデータを、ホットワード検出器130へ提供し得る。いくつかの実施では、処理されたオーディオデータは、発声「オーケーコンピュータ」に関連付けられた音響特性、発声「オーケーコンピュータ」に関連付けられたオーディオデータ、発声「オーケーコンピュータ」に関連付けられた表記、またはこれらの任意の組合せ、を含み得る。
【００２７】
ホットワード検出器130は、処理されたオーディオデータを受信し得る。例示された例では、ホットワード検出器130は、発声「オーケーコンピュータ」に関連付けられた、処理されたオーディオデータを受信し得る。ホットワード検出器130は、受信されたオーディオデータが、ホットワードに対応すると判定し得る。具体的には、ホットワードは、オーディオデータが、ホットワードに対応すると判定し得る。例示された例において、ホットワード検出器130は、発声「オーケーコンピュータ」に関連付けられたオーディオデータが、ホットワード「オーケーコンピュータ」に対応すると判定し得る。
【００２８】
いくつかの実施では、受信されたオーディオデータは、たとえば、オーディオサブシステム120によって識別されたような、関連付けられた音響特性を含み得る。ホットワード検出器130は、発声「オーケーコンピュータ」に関連付けられたオーディオデータの音響特性を、データベースに記憶された1つまたは複数のホットワードに関連付けられた音響特性と比較し得る。具体的には、各ホットワードは、たとえばホットワードの発音学のような1つまたは複数の音響特性に関連付けられ得る。データベースまたはテーブルが、ホットワードと、関連付けられた音響特性との間のマッピングを記憶し得る。いくつかの実施では、ホットワードは、複数の音響特性に関係付けられ得る。いくつかの実施では、音響特性は、複数のホットワードに関連付けられ得る。
【００２９】
音響特性の比較に基づいて、発声「オーケーコンピュータ」に関連付けられたオーディオデータは、データベースに記憶されたホットワードに対応すると判定され得る。たとえば、発声「オーケーコンピュータ」の音響特性と、ホットワード「オーケーコンピュータ」の音響特性との比較に基づいて、発声「オーケーコンピュータ」に関連付けられたオーディオデータの音響特性は、ホットワード「オーケーコンピュータ」に対応すると判定される。本開示の実施に従って使用され得る典型的なホットワード認識技術は、参照によって本明細書に組み込まれている米国特許公開第2015/0279351 A1号、より具体的には、図6の処理に記述されており、この詳細は、図2〜図5に図示され、これらのすべてが、参照によって本明細書に組み込まれている。
【００３０】
ホットワード検出器130は、オーディオデータがホットワードに対応するという判定の結果を、オーディオフィンガプリント生成器140へ提供し得る。具体的には、例示された例において、ホットワード検出器130は、ホットワード「オーケーコンピュータ」、または、ホットワード「オーケーコンピュータ」に関連付けられた信号を、オーディオフィンガプリント生成器140へ提供し得る。
【００３１】
オーディオフィンガプリント生成器140は、オーディオデータがホットワードに対応するとの判定の結果を、ホットワード検出器130から受信し得る。具体的には、例示された例において、オーディオフィンガプリント生成器140は、ホットワード「オーケーコンピュータ」に対応するオーディオデータ、または、ホットワード「オーケーコンピュータ」に関連付けられた信号を、ホットワード検出器130から受信し得る。この信号は、発声「オーケーコンピュータ」に関連付けられたオーディオデータが、ホットワードに対応することを示すインジケーションを含み得る。
【００３２】
オーディオフィンガプリント生成器140は、ホットワードの発声に関連付けられたオーディオデータのフィンガプリントを生成し得る。特に、例示された例において、オーディオフィンガプリント生成器140は、発声「オーケーコンピュータ」のオーディオフィンガプリントを生成するために、ホットワードに対応する、発声「オーケーコンピュータ」に関連付けられたオーディオデータを処理し得る。
【００３３】
いくつかの実施では、オーディオフィンガプリントは、極端なノイズ、または、ピッチシフトおよび時間伸張のような他の歪みの存在下での正確な一致を可能にするために設計され得る。それに加えて、各オーディオフィンガプリントはユニークである。たとえば、同じ環境条件における同じ話者からのホットワード発声は、未だに異なるフィンガプリントを有する。オーディオフィンガプリントは、話された発声に加えて、あらゆるバックグランドノイズを含み得る。
【００３４】
任意のタイプのオーディオフィンガプリントが、本発明の実施に従って使用され得る。たとえば、オーディオフィンガプリントは、参照によって本明細書に組み込まれている米国特許第8,411,977 B1号に記述されている。オーディオフィンガプリントは、リプレイ攻撃者によって適用され得る変形である、ノイズ、ピッチ、および時間シフトに対する抵抗を提供し得る。フィンガプリントは、オーディオ信号における時間周波数ピークを検出することによって生成され得る。これは、ピッチに対する不変性を提供するために、3重に組み合わされ、周波数比によって特徴付けられ得る。
【００３５】
あるいは、フィンガプリントを生成するために他の特性が使用され得る。たとえば、フィンガプリントは、一連のフィルタバンクエネルギのフレームからなり得る。一連のフレームは、規格化され、L2距離のような距離関数を使用して別の発声からのフレームと比較され得る。別の代案に従って、フィンガプリントを生成するために使用される特性は、ほぼ正確な一致タスクにおいて学習されたニューラルネットワークにおける中間レイヤの活性化であり得る。
【００３６】
いくつかの実施では、オーディオフィンガプリント生成器140は、ホットワード発声のオーディオフィンガプリントを、リプレイ攻撃エンジン150へ提供し得る。具体的には、例示されたリプレイ攻撃の例では、オーディオフィンガプリント生成器140が、発声「オーケーコンピュータ」のオーディオフィンガプリントを、リプレイ攻撃エンジン150へ提供し得る。
【００３７】
リプレイ攻撃エンジン150は、オーディオフィンガプリント生成器140によって生成されたホットワード発声のオーディオフィンガプリントを受信し得る。いくつかの実施では、リプレイ攻撃エンジンは、ホットワードフィンガプリントデータベース160へアクセスし得る。ホットワードフィンガプリントデータベース160は、特定のデバイスに、または、特定のユーザに、または、それら両方に関連付けられた、最も直近の、最後のN個の、または、すべてのホットワード発声を記憶するデータベースであり得る。直近のホットワード発声は、特定の期間に従って判定され得る。ホットワードフィンガプリントデータベース160は、たとえば、リプレイ攻撃に最も影響されやすい、特定のホットワード発声のサブセットを記憶するデータベースであり得る。たとえば、ホットワードフィンガプリントデータベース160は、たとえば、位置、バックグランドノイズ等、またはこれら任意の組合せに基づいて、公共の場で発せられた、または、たとえば、ユーザの自宅、車、事務所棟のような信頼された環境の外で発せられた、ホットワード発声を記憶し得る。ホットワードフィンガプリントデータベース160は、ホットワード発声の特定のサブセットの、直近の、最後のN個の、または、すべてのホットワード発声を記憶し得る。
【００３８】
リプレイ攻撃エンジン150は、オーディオフィンガプリント生成器140によって生成されたホットワード発声のオーディオフィンガプリントを、ホットワードフィンガプリントデータベース160に記憶されたホットワードフィンガプリントと比較し得る。オーディオフィンガプリント生成器140によって生成されたホットワード発声のオーディオフィンガプリントを、ホットワードフィンガプリントデータベース160に記憶されたホットワードフィンガプリントと比較することによって、リプレイ攻撃エンジン150は、オーディオフィンガプリント生成器140によって生成されたホットワード発声が、ホットワードフィンガプリントデータベース160に記憶されたホットワードフィンガプリントのうちの1つまたは複数と一致するか否かを判定し得る。
【００３９】
フィンガプリントのペアは、2つの発声、すなわち、受信されたホットワード発声と、記憶されたホットワード発声の各々、における時間xと時間yとのすべてのペアにおけるフィンガプリントまたは特性を比較することによって、一致すると判定され得る。たとえば、フィンガプリントは、L2類似性のような類似性関数を使用して、または、3重のディスクリプタのオーバラップの尺度を使用して、または、興味のあるポイントのオーバラップの尺度および導出される他の特性を使用して、比較され得る。類似性関数は、グラフィックなヒートマップを生成するために使用され得る。ヒートマップにおける対角線に沿った強い類似性に基づいて、一致が検出され得る。この線は、一致が始まる可変開始オフセットを考慮するために垂直方向または水平方向にシフトされ得る。類似性の強さは、すべての(x-y)についての類似性スコアを総計することによって検出され得る。結果的に得られるヒストグラムにおける強いピークは、あるシフトにおける2つの間の一致を示す。発声が時間伸張されているのであれば、ヒストグラムにおけるピークはまた、広いピークをも有し得る。あるいは、フィンガプリントのペアが一致するか否かを判定し得る分類器への入力として、ヒートマップが提供され得る。いずれのケースであれ、リプレイ攻撃エンジン150は、あらかじめ決定された類似性しきい値が満足されていることに基づいて一致を判定し得る。たとえば、リプレイ攻撃エンジン150は、類似性スコアまたは値を生成し、類似性スコアまたは値が、あらかじめ決定されたしきいスコアまたは値を満足するか否かを判定し得る。
【００４０】
いくつかの実施では、オーディオフィンガプリント生成器140によって生成されたホットワード発声のオーディオフィンガプリントが、ホットワードフィンガプリントデータベース160に記憶されたホットワードフィンガプリントに一致すると判定するリプレイ攻撃エンジン150は、リプレイ攻撃を示す。特に、ホットワードフィンガプリントデータベース160に記憶されたオーディオフィンガプリントと一致する、オーディオフィンガプリント生成器140によって生成された発声「オーケーコンピュータ」のオーディオフィンガプリントは、同じ「オーケーコンピュータ」という発声が以前に受信されており、無許可のユーザによってデバイスにアクセスまたはデバイスを使用する試みにおいてリプレイがなされていることを示す。
【００４１】
オーディオフィンガプリント生成器140によって生成されたホットワード発声のオーディオフィンガプリントが、ホットワードフィンガプリントデータベース160に記憶されたホットワードフィンガプリントと一致すると判定するステップに応じて、リプレイ攻撃エンジンは、デバイスがロック解除されることを阻止し、デバイスをロックし、デバイスへのアクセスを無効化し、2次認証処理等を開始する信号を出力し得る。オーディオフィンガプリント生成器140によって生成されたホットワード発声のオーディオフィンガプリントが、ホットワードフィンガプリントデータベース160に記憶されたホットワードフィンガプリントと一致しないと判定するステップに応じて、リプレイ攻撃エンジンは、デバイスにおいて動作が実行されることを許可する信号を出力し得る。
【００４２】
図2Aは、本発明の実施に従って、ホットワードを検出し検証するための例示的な処理の図解を描画する。この図解は、状態201乃至219を図示する。これは、特定のシーケンスで例示されることもあれば、されないこともある。
【００４３】
201において、オーディオサブシステム220が、発声「オーケーコンピュータ」の一部に対応するオーディオデータを受信し得る。オーディオサブシステム220は、受信された発声「オーケーコンピュータ」に対応するオーディオデータを処理し、このオーディオデータを、ホットワード検出器230へ提供し得る。202において、ホットワード検出器230が、発声「オーケーコンピュータ」に対応するオーディオデータを受信し、たとえば、上述されたような音響特性の比較に基づいて、発声「オーケーコンピュータ」が、デバイスに関するホットワードに対応するか否かを判定し得る。
【００４４】
ホットワード検出器230が、受信された発声がデバイスに関するホットワードに対応してないと判定すると、ホットワード検出器230は、ホットワードが受信されていないことを示す信号を提供し、処理は、オーディオサブシステム220が発声を求めてリスンすることで再開し得る。しかしながら、ホットワード検出器230が、発声「オーケーコンピュータ」がデバイスに関するホットワードに対応すると判定するステップに応じて、オーディオフィンガプリント生成器240は、203において、発声「オーケーコンピュータ」のオーディオフィンガプリントを生成し得る。オーディオフィンガプリント生成器240によって生成された発声「オーケーコンピュータ」のオーディオフィンガプリントは、204において記憶され得る。
【００４５】
205において、リプレイ攻撃エンジン250は、オーディオフィンガプリント生成器240によって生成された発声「オーケーコンピュータ」のオーディオフィンガプリントを受信し、生成されたオーディオフィンガプリントを、たとえば、データベースに記憶されたホットワードフィンガプリントと比較し得る。特に、リプレイ攻撃エンジン250は、オーディオフィンガプリント生成器240によって生成された発声「オーケーコンピュータ」のオーディオフィンガプリントとの比較を行うために、206において、記憶されたホットワードフィンガプリントへアクセスし得る。
【００４６】
リプレイ攻撃エンジン150が、オーディオフィンガプリント生成器240によって生成された発声「オーケーコンピュータ」のオーディオフィンガプリントと、記憶されたホットワードフィンガプリントのうちの1つまたは複数との間に一致がない208と判定すると、209において、デバイスへのアクセスが許可され得るか、または、ホットワードに後続するクエリまたはコマンドの処理が可能とされ得る。リプレイ攻撃エンジン150が、オーディオフィンガプリント生成器240によって生成された発声「オーケーコンピュータ」のオーディオフィンガプリントと、記憶されたホットワードフィンガプリントのうちの1つまたは複数との間の一致207を判定すると、210において、デバイスへのアクセスが無効化または制限され得るか、または、デバイスが、ロック解除、ウェイク等を阻止され得る。
【００４７】
いくつかの実施では、ホットワード発声は、クエリまたはコマンド発声によって後続され得るので、ホットワード発声から抽出されたd-ベクトルが、クエリまたはコマンド発声から抽出されたd-ベクトルにおおよそ一致するか否かが判定され得る。ホットワード発声と、クエリまたはコマンド発声との間の比較は、無許可のユーザが、記録されたホットワードをプリレイし、新たなクエリまたはコマンドを、自身の音声で発行するという能力を禁止し得る。
【００４８】
211において、オーディオサブシステム220は、ホットワードの発声に後続するクエリまたはコマンドの発声を受信し得る。例示された例において、オーディオサブシステム220は、ホットワード発声「オーケーコンピュータ」の後に、コマンド発声「お母さんに電話して下さい」を受信し得る。オーディオサブシステム220は、受信された発声「お母さんに電話して下さい」に対応するオーディオデータを処理し、オーディオデータをホットワード検出器230へ提供し得る。
【００４９】
212において、ホットワード検出器230は、発声「お母さんに電話して下さい」に対応するオーディオデータを受信し、たとえば、上述されたような音響特性の比較に基づいて、発声「お母さんに電話して下さい」が、デバイスに関するホットワードに対応するか否かを判定し得る。例示された例において、ホットワード検出器230は、発声「お母さんに電話して下さい」が、ホットワードに対応していないと判定し得る。受信された発声が、デバイスに関するホットワードに対応していないとホットワード検出器230が判定すると、ホットワード検出器230は、ホットワードが受信されていないことを示す信号を提供し得る。
【００５０】
いくつかの実施では、ホットワードが受信されていないと判定された場合、クエリまたはコマンドが受信されていると判定され得る。たとえば、ホットワードが受信されていると判定し、以前に受信された記憶されたホットワードとの一致がないと検証するステップに応じて、ホットワード発声に後続する発声についてのクエリまたはコマンド処理が可能とされ得る。例示された例において、オーディオフィンガプリント生成器240は、213において、発声「お母さんに電話して下さい」のオーディオフィンガプリントを生成し得る。
【００５１】
いくつかの実施では、クエリまたはコマンドのオーディオフィンガプリントが、ホットワードの発声間検証を実行するために使用され得る。特に、214において、リプレイ攻撃エンジン250は、発声「お母さんに電話して下さい」から生成された話者識別d-ベクトルを受信し、生成された発声「お母さんに電話して下さい」の話者識別d-ベクトルを、生成された発声「オーケーコンピュータ」のホットワードd-ベクトルと比較し得る。いくつかの実施では、リプレイ攻撃エンジン250は、発声「お母さんに電話して下さい」の話者識別d-ベクトルを、たとえば、データベースに記憶された発声「オーケーコンピュータ」のホットワードd-ベクトルと比較し得る。
【００５２】
リプレイ攻撃エンジン150が、発声「オーケーコンピュータ」に対応するオーディオデータと、発声「お母さんに電話して下さい」に対応するオーディオデータとの間の一致215を判定すると、219において、デバイスへのアクセスが許可され得るか、または、ホットワードに後続するクエリまたはコマンドの処理が実行され得る。リプレイ攻撃エンジン150が、発声「オーケーコンピュータ」に対応するオーディオデータと、発声「お母さんに電話して下さい」に対応するオーディオデータとの間に一致がない216と判定すると、218において、クエリまたはコマンドが実行されず、デバイスへのアクセスが無効化または制限され、2次認証処理が開始され得るか、または、デバイスは、ロック解除、もしくはウェイク等、またはこれら任意の組合せを禁止され得る。あるいは、同様の処理において、ホットワード発声に対応するオーディオデータが、受信され記憶された任意の先の発声と比較され得る。
【００５３】
上述されたように、リプレイ攻撃エンジン150は、生成された発声「お母さんに電話して下さい」のオーディオフィンガプリントの、生成された発声「オーケーコンピュータ」のホットワードフィンガプリントに対する比較の類似性スコアまたは値を生成し、類似性スコアまたは値が、あらかじめ決定されたしきいスコアまたは値を満足するか否かを判定し得る。いくつかの実施では、クエリまたはコマンドのコンテキストが、決定され得る。決定されたクエリまたはコマンドのコンテキストは、たとえば、類似性スコアもしくは値を重み付けるため、または、あらかじめ決定されたしきいスコアもしくは値を調節するために使用され得る。
【００５４】
たとえば、コマンドまたはクエリのコンテキストが、個人のまたはプライベートなデータに関して、より低いレベルの感度しか示さないのであれば、類似性スコアもしくは値が重み付けられ得るか、または、あらかじめ決定されたしきいスコアもしくは値が、生成された発声「お母さんに電話して下さい」のオーディオフィンガプリントと、生成された発声「オーケーコンピュータ」のホットワードフィンガプリントとの間の緊密な類似性にも関わらず、クエリまたはコマンドが実行されることを可能にするように、より頻繁に調節され得る。反対に、コマンドまたはクエリのコンテキストが、より高いレベルの感度を示すのであれば、類似性スコアもしくは値が重み付けられ得るか、または、あらかじめ決定されたしきいスコアもしくは値は、クエリまたはコマンドが実行されることを可能にするほど、さほど頻繁には調節され得ず、たとえば、生成された発声「お母さんに電話して下さい」のオーディオフィンガプリントと、生成された発声「オーケーコンピュータ」のホットワードフィンガプリントとの間の緊密な類似性を必要とする。したがって、ホットワード発声と、クエリまたはコマンド発声との間の比較は、無許可のユーザが、記録されたホットワードをプリレイし、新たなクエリまたはコマンドを、自身の音声で発行するという能力を禁止し得る。
【００５５】
部分的なホットワードは、たとえば、参照によって本明細書に組み込まれている米国特許第8,768,712 B1号、さらに詳しくは、その詳細のいくつかが図2Aに描画され、各々が参照によって本明細書に組み込まれている図3の処理に記述されているように検出され得る。いくつかの実施では、部分的なホットワードを検出した後、または、ホットワードに後続する発声の間、デバイスは、たとえば、認識のためにユニークなトークンをエンコードし得る周波数シフトキーイングを使用して、ユニークな超音波オーディオクリップを出力し得る。以前のトークンが、ホットワードの一部として認識されると、このホットワードは却下され得る。周波数のユニークなセットは、デバイスが新たなトークンを出力している場合に、トークンが検出され得るように、各トークンをエンコードするために使用され得る。あるいは、エンコードされたトークンをデバイスが検出する代わりに、デバイスは、デバイスが新たなトークンのために使用している周波数帯域におけるもの以外のいずれかの顕著な超音波オーディオを検出し得る。いずれかの顕著な超音波オーディオが検出されると、ホットワードは却下され得る。
【００５６】
たとえば、図1に描写されるように、ホットワード検出器130は、部分的ホットワード検出器135を備え得る。それに加えて、オーディオサブシステム120は、超音波オーディオサブシステム125を備え得る。超音波オーディオサブシステム125は、ユニークな超音波オーディオクリップを出力するように構成され得る。超音波オーディオサブシステム125は、超音波オーディオサンプルを受信し処理するように構成され得る。
【００５７】
図2Bは、本発明の実施に従って、ホットワードを検出および検証するための例示的な処理の図解を描画する。たとえば、図2Bに描画されるように、オーディオサブシステム220は、281において、発声「オーケー」に関連付けられたオーディオデータの初期部分を受信し得る。オーディオデータの初期部分は、発声の最初の数オーディオフレーム、または、発声に関連付けられたオーディオデータの最初の数100ミリ秒を含み得る。いくつかの例において、オーディオサブシステム220は、発声の一部、または、発声の実質的に全部分を含む波形データを生成するために、発声を処理する。オーディオサブシステム220は、オーディオデータの初期部分の1つまたは複数の音響特性を識別し得る。例示された例では、オーディオサブシステム220は、発声「オーケー」に関連付けられたオーディオデータの初期部分に関連付けられた音響特性を識別し得る。
【００５８】
例示された例において、ホットワード検出器230は、先ず、たとえばオーディオデータの初期部分のような、発声「オーケー」に関連付けられた処理されたオーディオデータを受信する。ホットワード検出器230は、受信されたオーディオデータが、ホットワードの初期部分に対応すると判定し得る。具体的には、ホットワード検出器230は、部分的ホットワード検出器235を含む。部分的ホットワード検出器235は、オーディオデータの初期部分が、ホットワードの初期部分に対応すると判定し得る。例示された例において、部分的ホットワード検出器235は、発声「オーケー」に関連付けられたオーディオデータの初期部分が、ホットワード「オーケーコンピュータ」の初期部分に対応すると判定し得る。いくつかの実施では、ホットワードの初期部分は、全ホットワード未満を含む。たとえば、初期部分「オーケー」は、全ホットワード「オーケーコンピュータ」よりも少ない。部分的ホットワード検出器235は、発声「オーケー」に関連付けられたオーディオデータの初期部分の音響特性を、データベースに記憶された1つまたは複数のホットワードに関連付けられた音響特性と比較し得る。
【００５９】
音響特性の比較に基づいて、発声「オーケー」に関連付けられたオーディオデータの初期部分は、データベースに記憶されたホットワードの初期部分に対応すると判定され得る。たとえば、ホットワード検出器230は、発声「オーケー」の音響特性と、ホットワード「オーケーコンピュータ」の音響特性との比較に基づいて、282において、発声「オーケー」に関連付けられたオーディオデータの初期部分の音響特性が、ホットワード「オーケーコンピュータ」の初期部分に対応すると判定し得る。
【００６０】
いくつかの実施では、発声に関連付けられたオーディオデータの初期部分が、ホットワードの初期部分に対応すると判定されることに応じて、超音波オーディオサブシステム225は、283において、ユニークな超音波オーディオクリップを出力し得る。いくつかの実施では、超音波オーディオサブシステム225は、すべてのホットワードが受信された後、ユニークな超音波オーディオクリップを出力し得る。
【００６１】
284において、オーディオサブシステム220は、発声「コンピュータ」の一部に対応するオーディオデータを受信し得る。オーディオサブシステム220は、受信された発声「コンピュータ」に対応するオーディオデータを処理し、ホットワード検出器230へオーディオデータを提供し得る。285において、ホットワード検出器230は、発声「オーケー」に対応する、以前に受信されたオーディオデータに加えて、発声「コンピュータ」に対応するオーディオデータを受信し、たとえば、上述したような音響特性の比較に基づいて、発声「オーケーコンピュータ」が、デバイスに関するホットワードに対応するか否かを判定し得る。
【００６２】
受信された発声が、デバイスに関するホットワードに対応していないとホットワード検出器230が判定すると、ホットワード検出器230は、ホットワードが受信されていないことを示す信号を提供し、処理は、オーディオサブシステム220が発声を求めてリスンすることで再開し得る。しかしながら、発声「オーケーコンピュータ」が、デバイスに関するホットワードに対応するとホットワード検出器230が判定するステップに応じて、オーディオフィンガプリント生成器240は、286において、発声「オーケーコンピュータ」のオーディオフィンガプリントを生成し得る。オーディオフィンガプリント生成器240によって生成された発声「オーケーコンピュータ」のオーディオフィンガプリントは、287において、記憶され得る。
【００６３】
288において、リプレイ攻撃エンジン250は、オーディオフィンガプリント生成器240によって生成された、発声「オーケーコンピュータ」のオーディオフィンガプリントを受信し、生成されたオーディオフィンガプリントを、たとえば、データベースに記憶されたホットワードフィンガプリントと比較し得る。特に、リプレイ攻撃エンジン250は、オーディオフィンガプリント生成器240によって生成された発声「オーケーコンピュータ」のオーディオフィンガプリントとの比較を行うために、289において、記憶されたホットワードフィンガプリントにアクセスし得る。
【００６４】
リプレイ攻撃エンジン150が、オーディオフィンガプリント生成器240によって生成された発声「オーケーコンピュータ」のオーディオフィンガプリントと、記憶されたホットワードフィンガプリントのうちの1つまたは複数との間の一致がない291と判定すると、292において、デバイスへのアクセスが許可され得るか、または、ホットワードに後続するクエリまたはコマンドの処理が可能とされ得る。リプレイ攻撃エンジン150が、オーディオフィンガプリント生成器240によって生成された発声「オーケーコンピュータ」のオーディオフィンガプリントと、記憶されたホットワードフィンガプリントのうちの1つまたは複数との間の一致290を判定すると、293において、デバイスへのアクセスが無効化または制限され得るか、または、デバイスは、ロック解除、ウェイク等を阻止され得る。
【００６５】
したがって、本開示の実施に従って、各発声のユニークさを検証することによって、ホットワードまたは任意の音声ベースのリプレイ攻撃が禁止され得る。特に、特定のデバイスによって、または、特定のユーザによって認識された最も直近の、最後のN個の、または、すべてのホットワード発声が録音され、記憶され得る。各ホットワード発声について、オーディオフィンガプリントが生成され記憶され得る。そして、同じ発声オーディオが以前に使用されているか否かをチェックするために、新たな発声から生成されたオーディオフィンガプリントと、以前に録音された各オーディオフィンガプリントとの間の比較が実行され得、リプレイが示される。たとえば、ホットワードが認識された場合、ホットワード発声のオーディオフィンガプリントが生成され得、導出されたフィンガプリントが、以前のホットワードの発声からのフィンガプリントと比較され得る。一致が判定された場合、発声は、以前に使用され得、可能性の高いリプレイを示し、却下され得る。発声が却下されることに応じて、たとえば、デバイスをブロックする、デバイス所有者に警報する、警告を表示する等、またはこれら任意の組合せのような追加の動作が講じられ得る。それに加えて、いくつかの実施では、たとえば、リプレイ攻撃の有効性をさらに制限するために、超音波オーディオインジェクションおよび発声間検証のような他の信号が使用され得る。
【００６６】
図3は、本発明の実施に従って、ホットワードを検出し検証するための例示的なフローチャートを描画する。図3に描画されているように、処理300は、310において、発声に対応するオーディオデータを受信するステップを備え得る。受信されたオーディオデータは、処理され、その後、320において、発声に関連付けられたオーディオデータが、ホットワードに対応するか否かを判定するために使用され得る。たとえば、受信された発声のオーディオ特徴と、デバイスに関するホットワード発声のオーディオ特徴との間の比較がなされ得る。特に、受信された発声に対応するオーディオデータから、ベクトルのシーケンスが生成され得、ベクトルのシーケンスが、デバイスに関連付けられたホットワードの発声のベクトルと比較され得る。
【００６７】
330において、受信された発声について、オーディオフィンガプリントが生成され得る。たとえば、受信された発声に対応するオーディオデータが、受信されたホットワード発声のホットワードオーディオフィンガプリントを生成または計算するために使用され得る。340において、ホットワードオーディオフィンガプリントが、記憶されたホットワードオーディオフィンガプリントと比較され得る。たとえば、記憶されたホットワードオーディオフィンガプリントのデータベースがアクセスされ得、ホットワードオーディオフィンガプリントが、記憶されたホットワードオーディオフィンガプリントと比較され得、たとえば、生成されたホットワードオーディオフィンガプリントと、記憶されたホットワードオーディオフィンガプリントの各々との間の類似性を決定する。
【００６８】
生成されたホットワードオーディオフィンガプリントと、記憶されたホットワードオーディオフィンガプリントとの間の比較は、350において、記憶されたホットワードオーディオフィンガプリントのいずれかと、生成されたホットワードオーディオフィンガプリントとの間に一致があるか否かを判定するために使用され得る。たとえば、生成されたホットワードオーディオフィンガプリントと、記憶されたホットワードオーディオフィンガプリントのうちの1つまたは複数との間の類似性が、あらかじめ決定されたしきい値を満足するか否かが判定され得る。
【００６９】
生成されたホットワードオーディオフィンガプリントが、記憶されたホットワードオーディオフィンガプリントのうちの1つまたは複数と一致すると判定される(「YES」)と、360において、デバイスへのアクセスが、無効化または阻止され得る。たとえば、一致は、デバイスへの無許可のアクセスを取得することを試みて、許可されたユーザによって以前に発声された、録音されたホットワードのオーディオを、無許可のユーザがリプレイしていることを示し得る。
【００７０】
生成されたホットワードオーディオフィンガプリントが、記憶されたホットワードオーディオフィンガプリントのうちの1つまたは複数と一致しないと判定された(「NO」)のであれば、370において、デバイスへのアクセスが可能とされ得るか、または、動作が、実行され得る。たとえば、一致がないという判定は、発声が、ホットワードの新たなユニークな発声であり、許可されたユーザによって以前に発声されたホットワードの、記録されたオーディオのリプレイではないことを示し得る。
【００７１】
本開示の実施に従って、ホットワード検出および話者検証が、ハードウェアもしくはソフトウェアのいずれか、または、ハードウェアとソフトウェアとの両方の組合せ、において実行され得る。フィンガプリントベースのホットワード検証は、単一のデバイスのレベルにおいて、または、多数のデバイスにわたって適用され得る。
【００７２】
ホットワード検証が、単一のデバイスのレベルにおいて適用されるのであれば、以前の発声からのフィンガプリントのセットが、デバイスにローカルに記憶され得る。以前の発声からのフィンガプリントのセットが、デバイスにローカルに記憶されるのであれば、フィンガプリントおよび一致処理および機能が、デバイスをウェイクする前に、たとえば、デバイスのデジタル信号プロセッサにおいて、ホットワード検出後に生じ得る。
【００７３】
ホットワード検証が、多数のデバイスを介して適用されるのであれば、以前の発声からのフィンガプリントのセットが、サーバに記憶され得る。以前の発声からのフィンガプリントのセットが、サーバに記憶されるのであれば、ホットワードは、デバイスをウェイクし得、ホットワード発声、または、ホットワード発声のオーディオフィンガプリントが、後続するクエリまたはコマンドの認識を実行するために使用される同じサーバへ送られ得る。サーバは、ホットワード発声のユニーク性を検証し得、クエリまたはコマンドが許可されるべきか、または却下されるべきかを示すステータスを返し得る。あるいは、ホットワード検証が、多数のデバイスを介して適用されるのであれば、検証がクライアントデバイスにおいて実行されることを可能にするために、以前の発声からのフィンガプリントのセットが、多数のデバイスにわたって同期され得る。
【００７４】
図4は、本明細書で記述された技術とともに使用され得る一般的なコンピュータデバイス400および一般的なモバイルコンピュータデバイス450の例を図示する。コンピューティングデバイス400は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータのようなデジタルコンピュータの様々な形式を表現することが意図される。コンピューティングデバイス450は、携帯情報端末、セルラ電話、スマートフォン、および他の類似のコンピューティングデバイスのような様々な形式のモバイルデバイスを表現することが意図される。本明細書に図示された構成要素、それらの接続および関係、ならびにそれらの機能は、単なる典型例であって、本書において記述および/または特許請求された発明の実施を制限することは意図されていない。
【００７５】
コンピューティングデバイス400は、プロセッサ402、メモリ404、記憶デバイス406、メモリ404および高速拡張ポート410に接続している高速インターフェース408、ならびに、低速バス414および記憶デバイス406に接続している低速インターフェース412を含む。構成要素402、404、406、408、410および412の各々は、様々なバスを使用して相互接続され、共通のマザーボードに搭載され得るか、または、他の方式で適切に搭載され得る。プロセッサ402は、高速インターフェース408へ結合されたディスプレイ416のような、外部入力/出力デバイス上のGUIのためのグラフィック情報を表示するために、メモリ404または記憶デバイス406に記憶された命令を含む、コンピューティングデバイス400内の実行のための命令を処理し得る。他の実施では、多数のプロセッサおよび/または多数のバスが、多数のメモリおよび多数のタイプのメモリとともに、適切に使用され得る。また、各々が(たとえば、サーババンク、ブレードサーバのグループ、または、マルチプロセッサシステムとして)必要な動作の一部を提供する多数のコンピューティングデバイス400が、接続され得る。
【００７６】
メモリ404は、コンピューティングデバイス400内に情報を記憶する。1つの実施では、メモリ404は、揮発性メモリユニットである。別の実施では、メモリ404は、不揮発性メモリユニットである。メモリ404はまた、磁気または光ディスクのような別の形式のコンピュータ読取可能な媒体であり得る。
【００７７】
記憶デバイス406は、コンピューティングデバイス400のための大容量記憶装置を提供することができる。1つの実施では、記憶デバイス406は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の類似のソリッドステートメモリデバイス、あるいは、大容量エリアネットワークまたは他の構成におけるデバイスを含むデバイスのアレイのようなコンピュータ読取可能な媒体であり得るか、またはこのようなコンピュータ読取可能な媒体を含み得る。コンピュータプログラム製品は、情報キャリア内に有形的に具体化され得る。コンピュータプログラム製品はまた、上述したように、実行された場合に、1つまたは複数の方法を実行する命令をも含み得る。情報キャリアは、メモリ404、記憶デバイス406、またはプロセッサにおけるメモリのようなコンピュータ402またはマシン読取可能な媒体である。
【００７８】
高速コントローラ408は、コンピューティングデバイス400のための広帯域幅集約的な動作を管理する一方、低速コントローラ412は、低帯域幅集約的な動作を管理する。そのような機能の割当は、単なる典型例である。1つの実施では、高速コントローラ408は、メモリ404へ、(たとえば、グラフィックプロセッサまたはアクセラレータを介して)ディスプレイ416へ、および(図示しない)様々な拡張カードを受け取り得る高速拡張ポート410へ結合される。実施では、低速コントローラ412は、記憶デバイス406および低速拡張ポート414へ結合される。様々な通信ポート(たとえば、USB、Bluetooth、イーサネット（登録商標）、ワイヤレスイーサネット)を含み得る低速拡張ポートが、たとえばネットワークアダプタを介して、キーボード、ポインティングデバイス、スキャナ、または、スイッチもしくはルータのようなネットワーキングデバイスのような1つまたは複数の入力/出力デバイスへ結合され得る。
【００７９】
図面に図示されるように、コンピューティングデバイス400は、多くの異なる形式で実施され得る。たとえば、標準的なサーバ420として、または、そのようなサーバのグループ内で何度も実施され得る。また、それは、ラックサーバシステム424の一部として実施され得る。それに加えて、それは、ラップトップコンピュータ422のようなパーソナルコンピュータにおいて実施され得る。あるいは、コンピューティングデバイス400からの構成要素が、デバイス450のようなモバイルデバイス(図示せず)における他の構成要素と組み合わされ得る。そのようなデバイスの各々は、コンピューティングデバイス400、450のうちの1つまたは複数を含み得、システム全体は、互いに通信する多数のコンピューティングデバイス400、450からなり得る。
【００８０】
コンピューティングデバイス450は、他の構成要素の中でも、プロセッサ452、メモリ464、ディスプレイ454のような入力/出力デバイス、通信インターフェース466、およびトランシーバ468を含む。デバイス450はまた、追加の記憶装置を提供するために、マイクロドライブまたは他のデバイスのような記憶デバイスを提供され得る。構成要素450、452、464、454、466、および468の各々は、様々なバスを使用して相互に接続され、構成要素のいくつかは、共通のマザーボード上に搭載され得るか、または、他の方式で適切に搭載され得る。
【００８１】
プロセッサ452は、メモリ464に記憶された命令を含む、コンピューティングデバイス640内の命令を実行し得る。プロセッサは、個別の多数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実施され得る。プロセッサは、たとえば、ユーザインターフェースの制御、デバイス450によって実行されるアプリケーション、および、デバイス450によるワイヤレス通信のような、デバイス450の他の構成要素の調整のために準備し得る。
【００８２】
プロセッサ452は、制御インターフェース648を介して、および、ディスプレイ454に結合されたディスプレイインターフェース456を介して、ユーザと通信し得る。ディスプレイ454は、たとえば、TFT LCD(薄膜トランジスタ液晶ディスプレイ)もしくはOLED(有機発光ダイオード)ディスプレイ、または、他の適切なディスプレイ技術であり得る。ディスプレイインターフェース456は、グラフィックおよび他の情報をユーザへ提供するために、ディスプレイ454を駆動するための適切な回路を備え得る。制御インターフェース458は、ユーザからコマンドを受信し、それらをプロセッサ452への発行のために変換し得る。それに加えて、外部インターフェース462は、他のデバイスとのデバイス450の近傍エリア通信を可能にするように、プロセッサ452との通信に提供され得る。外部インターフェース462は、たとえば、いくつかの実施におけるワイヤ通信のために、または、他の実施におけるワイヤレス通信のために提供してもよく、多数のインターフェースもまた使用され得る。
【００８３】
メモリ464は、コンピューティングデバイス450内に情報を記憶する。メモリ464は、コンピュータ読取可能な媒体、揮発性メモリユニット、または不揮発メモリユニットのうちの1つまたは複数として実施され得る。拡張メモリ454もまた提供され、たとえば、SIMM(シングルインラインメモリモジュール)カードインターフェースを含み得る拡張インターフェース452を介してデバイス450へ接続され得る。そのような拡張メモリ454は、デバイス450のための追加の記憶スペースを提供し得るか、または、デバイス450のためのアプリケーションまたは他の情報をも記憶し得る。具体的には、拡張メモリ454は、上述された処理を実行または補足するための命令を含み得、安全な情報をも含み得る。したがって、たとえば、拡張メモリ454は、デバイス450のためのセキュリティモジュールとして提供され得、デバイス450の安全な使用を許可する命令を用いてプログラムされ得る。それに加えて、安全なアプリケーションが、ハッキング不可な方式で、SIMMカード上に識別情報を配置するように、追加の情報とともにSIMMカードを介して提供され得る。
【００８４】
以下に議論されるように、メモリは、たとえば、フラッシュメモリおよび/またはNVRAMメモリを含み得る。1つの実施では、コンピュータプログラム製品は、情報キャリア内に有形的に具体化される。コンピュータプログラム製品は、実行された場合、上述されたような1つまたは複数の方法を実行する命令を含む。情報キャリアは、メモリ464、拡張メモリ454、プロセッサ452におけるメモリ、または、たとえば、トランシーバ468もしくは外部インターフェース462を介して受信され得る伝搬信号のような、コンピュータまたはマシン読取可能な媒体である。
【００８５】
デバイス450は、必要な場合、デジタル信号処理回路を含み得る通信インターフェース466を介してワイヤレスに通信し得る。通信インターフェース466は、とりわけ、GSM（登録商標）音声コール、SMS、EMS、またはMMSメッセージング、CDMA、TDMA、PDC、WCDMA（登録商標）、CDMA2000、またはGPRSのような様々なモードまたはプロトコルの下での通信を提供し得る。そのような通信は、たとえば、無線周波数トランシーバ468によって生じ得る。それに加えて、短距離通信が、たとえばBluetooth（登録商標）、WiFi、または他のそのようなトランシーバ(図示せず)を使用して生じ得る。それに加えて、GPS(全地球測位システム)受信機モジュール450は、追加のナビゲーションおよび位置関連のワイヤレスデータをデバイス450へ提供し得る。これは、デバイス450において動作しているアプリケーションによって適切に使用され得る。
【００８６】
デバイス450はまた、ユーザから、話された情報を受信し、それを、使用可能なデジタル情報へ変換し得る、オーディオコーデック460を使用して可聴的に通信し得る。オーディオコーデック460は同様に、たとえば、デバイス450のハンドセットにおいて、スピーカを介するようにして、ユーザのために可聴音を生成し得る。そのような音は、音声電話呼出からの音を含み得、記録された音(たとえば、音声メッセージ、音楽ファイル等)を含み得、また、デバイス450において動作しているアプリケーションによって生成された音をも含み得る。
【００８７】
コンピューティングデバイス450は、図面に図示されているような、多くの異なる形式で実施され得る。たとえば、それは、セルラ電話480として実施され得る。さらに、それは、スマートフォン482、携帯情報端末、または他の類似のモバイルデバイスの一部として実施され得る。
【００８８】
多くの実施が、記述された。しかしながら、様々な修正が、本開示の精神および範囲から逸脱することなくなされ得ることが理解されるであろう。たとえば、上記に図示された様々な形式のフローが、順序換えされた、追加された、または削除されたステップとともに使用され得る。
【００８９】
本発明の実施、および、この明細書において記述された機能的動作のすべては、デジタル電子回路において、または、この明細書において開示された構造およびそれらの構造的な等価物を含む、コンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、または、これらのうちの1つまたは複数の組合せにおいて、実施され得る。本発明の実施は、1つまたは複数のコンピュータプログラム製品、すなわち、データ処理装置による、または、データ処理装置の動作を制御するための実行のために、コンピュータ読取可能な媒体においてエンコードされたコンピュータプログラム命令の1つまたは複数のモジュールとして実施され得る。コンピュータ読取可能な媒体は、マシン読取可能な記憶デバイス、マシン読取可能な記憶基板、メモリデバイス、マシン読取可能な伝搬信号を有効にする主題の成分、または、これらのうちの1つまたは複数の組合せ、であり得る。「データ処理装置」という用語は、例としてプログラマブルプロセッサ、コンピュータ、または、マルチプロセッサもしくはコンピュータを含む、データを処理するためのすべての装置、デバイス、およびマシンを包含する。この装置は、ハードウェアに加えて、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらのうちの1つまたは複数の組合せを構成するコードのような、問題となっているコンピュータプログラムのための実行環境を生成するコードを含み得る。伝搬信号は、たとえば、適切な受信装置へ送信するための情報をエンコードするために生成された、マシン生成電気、光、または電磁信号のような、人工的に生成された信号である。
【００９０】
(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られている)コンピュータプログラムは、コンパイルまたは翻訳された言語を含む任意の形式のプログラミング言語で記述され得、スタンドアロンプログラムとして、または、モジュール、構成要素、サブルーチン、もしくは、コンピューティング環境における使用のために適切な他のユニットとして含む任意の形式で展開され得る。コンピュータプログラムは、必ずしも、ファイルシステム内のファイルに対応する必要はない。プログラムは、他のプログラムまたはデータ(たとえば、マークアップ言語文書に記憶された1つまたは複数のスクリプト)を、問題のあるプログラムに専用の単一のファイルに、または、多数の調整されたファイル(たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの一部を記憶するファイル)に保持する、ファイルの一部に記憶され得る。コンピュータプログラムは、1つのコンピュータにおいて、または、1つの場所に配置されるか、もしくは多数の場所に分散され、通信ネットワークによって相互接続された多数のコンピュータにおいて実行されるために展開され得る。
【００９１】
(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られている)これらコンピュータプログラムは、プログラマブルプロセッサのためのマシン命令を含み、高レベルの手続型および/もしくはオブジェクト指向プログラミング言語で、ならびに/または、アセンブリ/マシン言語で実施され得る。本明細書で使用されるように、「マシン読取可能な媒体」、「コンピュータ読取可能な媒体」という用語は、マシン命令および/またはデータを、マシン命令をマシン読取可能な信号として受信するマシン読取可能な媒体を含むプログラマブルプロセッサへ提供するために使用される任意のコンピュータプログラム製品、装置、および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス(PLD))を称する。「マシン読取可能な信号」という用語は、マシン命令および/またはデータをプログラマブルプロセッサへ提供するために使用される任意の信号を称する。
【００９２】
この明細書に記述された処理および論理フローは、入力データに対して演算し、出力を生成することによって機能を実行するために、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実行され得る。処理および論理フローはまた、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)のような特別目的論理回路によって実行され得、装置はまた、このような特別目的論理回路として実施され得る。
【００９３】
コンピュータプログラムの実行のために適切なプロセッサは、例によれば、汎用および特別目的の両方のマイクロプロセッサと、任意の種類のデジタルコンピュータの1つまたは複数の任意のプロセッサとを含む。一般に、プロセッサは、読取専用メモリまたはランダムアクセスメモリまたはその両方から、命令およびデータを受信するであろう。コンピュータの必須の要素は、命令を実行するためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、たとえば磁気ディスク、磁気光ディスク、または光ディスクのように、データを記憶するための1つまたは複数の大容量記憶デバイスを含んでいるか、あるいは、1つまたは複数の大容量記憶デバイスからデータを受け取るためまたは、1つまたは複数の大容量記憶デバイスへデータを転送するため、またはその両方のために、動作可能に結合される。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。さらに、コンピュータは、いくつか例を挙げると、たとえば、タブレットコンピュータ、モバイル電話、携帯情報端末(PDA)、モバイルオーディオプレーヤ、全地球測位システム(GPS)受信機のような別のデバイスに組み込まれ得る。コンピュータプログラム命令およびデータを記憶するために適切なコンピュータ読取可能な媒体は、例として、たとえばEPROM、EEPROM、およびフラッシュメモリデバイスのような半導体メモリデバイス、たとえば内部ハードディスクまたはリムーバブルディスクのような磁気ディスク、磁気光ディスク、ならびにCD ROMディスクおよびDVD-ROMディスクを含むすべての形式の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、特別目的論理回路によって補足され得るか、または、特別目的論理回路内に組み込まれ得る。
【００９４】
ユーザとのインタラクションを提供するために、本発明の実施は、たとえば、CRT(陰極線管)、LCD(液晶ディスプレイ)モニタのように、ユーザへ情報を表示するためのディスプレイデバイスと、ユーザがコンピュータへ入力を提供し得る、キーボードと、たとえばマウスまたはトラックボールのようなポインティングデバイスと、を有するコンピュータにおいて実施され得る。他の種類のデバイスもまた同様に、ユーザとのインタラクションを提供するために使用され得る。たとえば、ユーザへ提供されるフィードバックは、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックのような任意の形式の知覚フィードバックであり得、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形式で受け取られ得る。
【００９５】
本発明の実施は、たとえばデータサーバとしてバックエンド構成要素を含む、あるいは、たとえばアプリケーションサーバのようなミドルウェア構成要素を含む、あるいは、たとえばグラフィックユーザインターフェースもしくはユーザが本発明の実施とインタラクトし得るウェブブラウザを有するクライアントコンピュータのようなフロントエンド構成要素、または1つまたは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、もしくはフロントエンド構成要素の任意の組合せを含む、コンピューティングシステムにおいて実施され得る。システムの構成要素は、たとえば通信ネットワークのような、デジタルデータ通信の任意の形式または媒体によって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)と、たとえばインターネットのような広域ネットワーク(「WAN」)とを含む。
【００９６】
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、一般に互いに離れており、典型的には通信ネットワークを介してインタラクトする。クライアントとサーバの関係は、それぞれのコンピュータにおいて動作し、互いにクライアント-サーバ関係を有している、コンピュータプログラムによって生じる。
【００９７】
この開示は、多くの詳細を含んでいるが、これらは、本発明または特許請求され得るものの範囲における限定としてではなく、むしろ、本発明の特定の実施に特有の特性の記述として解釈されるべきである。個別の実施のコンテキストにおいてこの明細書において記述された、いくつかの特性はまた、単一の実施の組合せでも実施され得る。反対に、単一の実施のコンテキストにおいて記述された様々な特性はまた、多数の実施において個別に、または、任意の適切な部分組合せで実施され得る。さらに、特性は、いくつかの組合せにおける動作として、および、最初に特許請求されたものとして記述され得るが、いくつかのケースでは、特許請求された組合せからの1つまたは複数の特性が、組合せから取り除かれ、特許請求された組合せが、部分組合せまたは部分組合せのバリエーションに向けられ得る。
【００９８】
同様に、これら動作は、特定の順序で図中に描画されているが、これは、所望される結果を達成するために、このような動作が、図示された特定の順序もしくは連続順で実行されることも、または、例示されたすべての動作が実行されることも、必要であるとは理解されるべきではない。いくつかの状況では、マルチタスクおよび並列処理が有利であり得る。さらに、上述された実施における様々なシステム構成要素を分離することは、すべての実施においてこのような分離を必要とするとして理解されるべきではなく、記述されたプログラム構成要素およびシステムは、一般に、単一のソフトウェア製品内にともに組み込まれ得るか、多数のソフトウェア製品にパッケージされ得ることが理解されるべきである。
【００９９】
HTMLファイルが言及される各事例では、他のファイルタイプまたはフォーマットが代用され得る。たとえば、HTMLファイルは、XML、JSON、プレーンテキスト、または他のタイプのファイルと交換され得る。さらに、テーブルまたはハッシュテーブルが言及される場合、(スプレッドシート、リレーショナルデータベース、または構造化されたファイルのような)他のデータ構造が使用され得る。
【０１００】
本明細書に記述されたシステムおよび技術の様々な実施は、デジタル電子回路、集積回路、専用に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/または、これらの組合せで実現され得る。これら様々な実施は、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスへデータおよび命令を送信するために結合された、専用または汎用であり得る少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムにおいて実行可能および/または解釈可能である1つまたは複数のコンピュータプログラムにおける実施を含み得る。
【０１０１】
ここまで、本開示の特定の実施が記述された。他の実施は、以下の特許請求の範囲の範囲内である。たとえば、特許請求の範囲において記述された動作は、異なる順序で実行され得、依然として望ましい結果を達成し得る。多くの実施が記述された。しかしながら、様々な修正が、本開示の精神および範囲から逸脱することなくなされ得ることが理解されるであろう。たとえば、上記に図示された様々な形式のフローが、順序換えされた、追加された、または削除されたステップとともに使用され得る。したがって、他の実施は、以下の特許請求の範囲の範囲内である。
【符号の説明】
【０１０２】
110  オーケーコンピュータ
120  オーディオサブシステム
125  超音波オーディオサブシステム
130  ホットワード検出器
135  部分的ホットワード検出器
140  オーディオフィンガプリント生成器
150  リプレイ攻撃エンジン
160  ホットワードフィンガプリントデータベース
220  オーディオサブシステム
225  超音波オーディオサブシステム
230  ホットワード検出器
235  部分的ホットワード検出器
240  オーディオフィンガプリント生成器
250  リプレイ攻撃エンジン
400  コンピューティングデバイス
402  プロセッサ
404  メモリ
406  記憶デバイス
408  高速インターフェース、高速コントローラ
410  高速拡張ポート
412  低速インターフェース、低速コントローラ
414  低速バス、低速拡張ポート
416  ディスプレイ
420  サーバ
422  ラップトップコンピュータ
424  ラックサーバシステム
450  モバイルコンピュータデバイス
452  プロセッサ
454  ディスプレイ、拡張メモリ
456  ディスプレイインターフェース
458  制御インターフェース
460  オーディオコーデック
462  外部インターフェース
464  メモリ
466  通信インターフェース
468  トランシーバ
480  セルラ電話
482  スマートフォン
【図１】
0006463710.tif 000002
【図２Ａ】
0006463710.tif 000003
【図２Ｂ】
0006463710.tif 000004
【図３】
0006463710.tif 000005
【図４】
0006463710.tif 000006