(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-26
(45)【発行日】2024-04-03
(54)【発明の名称】記録メディアのホットワードトリガ抑制
(51)【国際特許分類】
G10L 15/28 20130101AFI20240327BHJP
G10L 19/018 20130101ALI20240327BHJP
【FI】
G10L15/28 230K
G10L19/018
【外国語出願】
(21)【出願番号】P 2022118728
(22)【出願日】2022-07-26
(62)【分割の表示】P 2020135793の分割
【原出願日】2018-03-13
【審査請求日】2022-07-27
(32)【優先日】2017-06-05
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】リカルド・アントニオ・ガルシア
【審査官】中村 天真
(56)【参考文献】
【文献】特開2003-295894(JP,A)
【文献】米国特許出願公開第2017/0083285(US,A1)
【文献】特表2017-513037(JP,A)
【文献】特開2005-338454(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/00-15/34
G10L 19/00ー19/26
(57)【特許請求の範囲】
【請求項1】
ユーザデバイスのデータ処理ハードウェア上で実行される際に、
前記ユーザデバイスがスリープモードにある間に、前記ユーザデバイスのマイクロフォンによって捕捉された
、オーディオ透かしを含むオーディオデータを受信し、前記オーディオデータは、前記ユーザデバイスの近傍にあるオーディオソースから出力された1個のメディアコンテンツの再生に対応するステップ;
前記ユーザデバイスがスリープモードにある間に、前記オーディオデータを処理して、前記オーディオデータに
おける前記オーディオ透かし
に符号化されたルールを
判定するステップ;及び、
判定された、前記オーディオデータに
おける前記オーディオ透かし
に符号化されたルールに基づいて、一致するオーディオ透かしを識別するために前記オーディオ透かしデータベースにアクセスせずに、前記オーディオデータに対して音声認識を行うことを回避することを決定するステップ;
を含む動作を前記データ処理ハードウェアに実行させることを特徴とするコンピュータ実装方法。
【請求項2】
前記オーディオデータは、ホットワードに先行するコマンドの発話からなることを特徴とする請求項1に記載のコンピュータ実装方法。
【請求項3】
前記オーディオデータに対して音声認識を行うことを回避することを決定するステップは、前記コマンドの前記発話に対応する受信した前記オーディオデータの部分に対して音声認識を行うことを回避するステップを含むことを特徴とする請求項2に記載のコンピュータ実装方法。
【請求項4】
前記オーディオ透かしは、前記ホットワードを含む前記オーディオデータの一部に
含まれることを特徴とする請求項2に記載のコンピュータ実装方法。
【請求項5】
前記動作は、前記オーディオデータに
おける前記オーディオ透かし
に符号化されたルールを
判定するために前記オーディオデータを処理する前に、受信した前記オーディオデータが前記ホットワードを含むことを決定するステップをさらに含むことを特徴とする請求項2に記載のコンピュータ実装方法。
【請求項6】
前記受信した前記オーディオデータが前記ホットワードを含むことを決定するステップは、
音声認識を行うことなく、前記オーディオデータが前記ホットワードを含む可能性を示すホットワード信頼度スコアを計算するステップ;及び、
前記ホットワード信頼度スコアがホットワード信頼度スコアしきい値を満たすと決定するステップ;
を含むことを特徴とする請求項5に記載のコンピュータ実装方法。
【請求項7】
前記ユーザデバイスがスリープ状態にある間に、前記オーディオデータを処理するステップは、前記オーディオデータを処理して、スペクトル拡散シェーピングタイプの透かしを検出することによって前記オーディオデータに
おける前記オーディオ透かしを識別するステップをさらに含むことを特徴とする請求項1に記載のコンピュータ実装方法。
【請求項8】
前記ユーザデバイスは、前記オーディオデータに対して音声認識を実行することを回避することを決定した後、前記スリープモードのままであることを特徴とする請求項1に記載のコンピュータ実装方法。
【請求項9】
前記動作が、
前記1個のメディアコンテンツの再生に対応する前記オーディオデータのオーディオ源を識別するために、前記オーディオ透かしを分析するステップ;
をさらに含み、
前記オーディオデータに対して音声認識を実行することを回避することを決定するステップが、前記1個のメディアコンテンツの再生に対応する前記オーディオデータのオーディオ源にさらに基づいていることを特徴する請求項1に記載のコンピュータ実装方法。
【請求項10】
前記動作は、前記1個のメディアコンテンツの再生に対応する前記オーディオデータの前記オーディオ源を示すためにログファイルを更新するステップをさらに含むことを特徴とする請求項9に記載のコンピュータ実装方法。
【請求項11】
ユーザデバイスであって、
データ処理ハードウェア;及び、
前記データ処理ハードウェアと通信し、命令を記憶するメモリハードウェアであって、前記データ処理ハードウェア上で実行される際に、
前記ユーザデバイスがスリープモードにある間に、前記ユーザデバイスのマイクロフォンによって捕捉された
、オーディオ透かしを含むオーディオデータを受信し、前記オーディオデータは、前記ユーザデバイスの近傍にあるオーディオソースから出力された1個のメディアコンテンツの再生に対応すること;
前記ユーザデバイスがスリープモードにある間に、前記オーディオデータを処理して、前記オーディオデータに
おける前記オーディオ透かし
に符号化されたルールを
判定すること;及び
判定された、前記オーディオデータに
おける前記オーディオ透かし
に符号化されたルールに基づいて、一致するオーディオ透かしを識別するために前記オーディオ透かしデータベースにアクセスせずに、前記オーディオデータに対して音声認識を行うことを回避することを決定すること;
を含む動作を前記データ処理ハードウェアに実行させるメモリハードウェア;
を備えることを特徴とするユーザデバイス。
【請求項12】
前記オーディオデータは、ホットワードに先行するコマンドの発話からなることを特徴とする請求項11に記載のユーザデバイス。
【請求項13】
前記オーディオデータに対して音声認識を行うことを回避することを決定することは、前記コマンドの前記発話に対応する受信した前記オーディオデータの部分に対して音声認識を行うことを回避することを含むことを特徴とする請求項12に記載のユーザデバイス。
【請求項14】
前記オーディオ透かしは、前記ホットワードを含む前記オーディオデータの一部に
含まれることを特徴とする請求項12に記載のユーザデバイス。
【請求項15】
前記動作は、前記オーディオデータに
おける前記オーディオ透かし
に符号化されたルールを
判定するために前記オーディオデータを処理する前に、受信した前記オーディオデータが前記ホットワードを含むことを決定することをさらに含むことを特徴とする請求項12に記載のユーザデバイス。
【請求項16】
前記受信した前記オーディオデータが前記ホットワードを含むことを決定することは、
音声認識を行うことなく、前記オーディオデータが前記ホットワードを含む可能性を示すホットワード信頼度スコアを計算すること;及び、
前記ホットワード信頼度スコアがホットワード信頼度スコアしきい値を満たすと決定すること;
を含むことを特徴とする請求項15に記載のユーザデバイス。
【請求項17】
前記ユーザデバイスがスリープ状態にある間に、前記オーディオデータを処理することは、前記オーディオデータを処理して、スペクトル拡散シェーピングタイプの透かしを検出することによって前記オーディオデータに
おける前記オーディオ透かしを識別することをさらに含むことを特徴とする請求項11に記載のユーザデバイス。
【請求項18】
前記ユーザデバイスは、前記オーディオデータに対して音声認識を実行することを回避することを決定した後、前記スリープモードのままであることを特徴とする請求項11に記載のユーザデバイス。
【請求項19】
前記動作が、
前記1個のメディアコンテンツの再生に対応する前記オーディオデータのオーディオ源を識別するために、前記オーディオ透かしを分析すること;
をさらに含み、
前記オーディオデータに対して音声認識を実行することを回避することを決定することが、前記1個のメディアコンテンツの再生に対応する前記オーディオデータのオーディオ源にさらに基づいていることを特徴する請求項11に記載のユーザデバイス。
【請求項20】
前記動作は、前記1個のメディアコンテンツの再生に対応する前記オーディオデータの前記オーディオ源を示すためにログファイルを更新することをさらに含むことを特徴とする請求項19に記載のユーザデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、一般に、自動スピーチ認識に関する。
【背景技術】
【0002】
スピーチ対応型の家庭またはその他の環境、すなわち、ユーザがクエリまたはコマンドを声に出して言うだけで、コンピュータ型システムがそのクエリを処理して回答し、かつ/またはコマンドを実行させる環境が実現する日が来る。スピーチ対応型環境(例えば家庭、職場、学校など)は、その環境内の様々な部屋または領域全体に分散させたマイクロフォンデバイスを接続したネットワークを用いて実施することができる。このようなマイクロフォンのネットワークによって、ユーザは、自分の目の前、または付近にコンピュータまたは他のデバイスがなくても、その環境内の基本的にどこからでもシステムに口頭でクエリをすることができる。例えば、ユーザが、台所で料理をしているときに、「3カップは何ミリリットル?」とシステムに尋ね、それに応じて、例えば合成ボイス出力の形態で、システムからの回答を受け取ることもできる。あるいは、ユーザは、「一番近いガソリンスタンドが閉まるのは何時?」という質問や、外出する準備をした後で「今日はコートを着た方がいいかな?」という質問などをシステムに尋ねることもできる。
【0003】
さらに、ユーザは、ユーザの個人情報に関係する問合せをシステムにする、かつ/またはユーザの個人情報に関係するコマンドを発することもある。例えば、ユーザが、「ジョンと会うのはいつだっけ?」とシステムに尋ねる、または「家に帰ったらジョンに電話するように知らせて」とシステムに命令することもある。
【発明の概要】
【課題を解決するための手段】
【0004】
スピーチ対応型システムでは、ユーザがシステムと対話する方法は、限定されるわけではないが、主に、ボイス入力によるものとなるように設計されている。したがって、システムは、システムに向けられていないものも含めて周囲環境で発せられた全ての発語を拾う可能性があり、例えば環境内にいる個人に向けられている発語に対して、任意の所与の発語がいつシステムに向けられているかを識別する何らかの方法を備えなければならない。これを実現する1つの方法は、ホットワードを使用することである。ホットワードとは、環境内のユーザの間の合意によって、システムの注意を喚起するために発せられる所定の言葉として確保される言葉である。例示的な環境では、システムの注意を喚起するために使用されるホットワードは、「OK、コンピュータ」という言葉である。したがって、「OK、コンピュータ」という言葉が発せられるたびに、この言葉がマイクロフォンによって拾われてシステムに搬送され、システムは、スピーチ認識技術を実行する、またはオーディオ機能およびニューラルネットワークを使用して、ホットワードが発せられたかどうかを判定し、発せられた場合には、引き続き生じるコマンドまたはクエリを待機する。したがって、システムに向けられる発語は、大まかに言うと[ホットワード][クエリ]という形態をとり、この例における「ホットワード」は、「OK、コンピュータ」であり、「クエリ」は、システムが単独で、またはネットワークを介してサーバと協働して、スピーチ認識し、構文解析し、作用することができる任意の質問、コマンド、宣言、またはその他の要求とすることができる。
【0005】
ホットワードを検出することに加えて、コンピューティングデバイスは、ホットワードのオーディオ中に埋め込まれたオーディオ透かしを検出するように構成することもできる。オーディオ透かしは、人間には不可聴な高周波数透かしであっても、バックグラウンドノイズまたは静音のように聞こえる透かしであってもよい。コンピューティングデバイスは、オーディオ透かしに応じて様々にホットワードに対して応答するように構成することができる。例えば、「OK、コンピュータ、駅までの道順を教えてくれ」という俳優の発話を含むメディアコンテンツの一部分を作成することもできる。このメディアコンテンツを再生しているテレビジョンの近傍内の任意のコンピューティングデバイスが駅までの道順を提示することを防止するために、メディアコンテンツの制作者は、このホットワードと重なり合うオーディオ透かしを含めることができる。メディアコンテンツのオーディオを検出したコンピューティングデバイスは、オーディオ透かしを抽出し、そのオーディオ透かしをオーディオ透かしデータベースと比較すればよい。オーディオ透かしデータベースは、いつコンピューティングデバイスがホットワードおよびこの特定のオーディオ透かしに続くオーディオに対してスピーチ認識を実行すべきかについてのルールと、その他のオーディオ透かしについての追加のルールとを含むことがある。本明細書に記載する方法およびシステムの少なくともいくつかは、コンピューティングデバイスの近傍のスピーカを介して出力された発語に対して応答すべきときをコンピューティングデバイスが選択的に決定することを可能にすることができることは理解されるであろう。
【0006】
メディアコンテンツのオーディオ透かしについてのルールは、コンピューティングデバイスがメディアコンテンツからのオーディオをさらに処理する前に満たさなければならない条件を含むことがある。例示的なルールとしては、コンピューティングデバイスは、そのコンピューティングデバイスが現在道順を提示していない場合、移動速度が時速10マイルを超えていない場合、スマートスピーカである場合、およびユーザの家に位置している場合には応答しなければならない、というものがあり得る。別のルールの例としては、コンピューティングデバイスは、そのコンピューティングデバイスがメディアコンテンツの所有者または制作者に関連する敷地内にある場合、および発語の優先度が高いことを透かしが示している場合にのみ応答しなければならない、というものもあり得る。コンピューティングデバイスがこれらのルールを満たす場合には、コンピューティングデバイスは、ホットワードに続く部分に対してスピーチ認識を実行することができる。その音訳が「駅までの道順を教えてくれ」である場合には、コンピューティングデバイスは、駅までの道順を表示する、または音声によって提示することができる。コンピューティングデバイスがルールを満たさない場合には、コンピューティングデバイスは、ホットワードに続くオーディオの部分に対してスピーチ認識を実行せず、このオーディオに応答したそれ以上のアクションを行わない。
【0007】
いくつかの実施態様では、オーディオ透かしは、コンピューティングデバイスがオーディオ透かしをオーディオ透かしデータベースと比較する必要をなくすことができるデータを符号化していることもある。この符号化データは、いつコンピューティングデバイスがスピーチ認識を行うべきかについてのルール、識別子、アクション、またはそれらに類するその他の任意のデータを含む可能性がある。いくつかの実施態様では、コンピューティングデバイスは、この符号化データをオーディオ透かしデータベースと組み合わせて使用して、ホットワードに続くオーディオに対してスピーチ認識を実行するかどうかを判定することもできる。
【0008】
本願に記載する主題の革新的な態様によれば、記録メディア中でホットワードを検出するときにホットワードトリガを抑制する方法は、コンピューティングデバイスが、1個のメディアコンテンツの再生に対応するオーディオを受け取るアクションと、コンピューティングデバイスが、オーディオが既定のホットワードの発語を含み、オーディオがオーディオ透かしを含むと判定するアクションと、コンピューティングデバイスが、オーディオ透かしを解析するアクションと、オーディオ透かしの解析に基づいて、コンピューティングデバイスが、既定のホットワードに続くオーディオの一部分に対してスピーチ認識を実行するかどうかを判定するアクションと、を含む。
【0009】
上記およびその他の実施態様は、任意選択で、以下の特徴のうちの1つまたは複数をそれぞれ含む可能性がある。オーディオ透かしを解析するアクションは、オーディオ透かしを1つまたは複数のオーディオ透かしと比較するアクションを含む。既定のホットワードに続くオーディオの一部分に対してスピーチ認識を実行するかどうかを判定するアクションは、オーディオ透かしと1つまたは複数のオーディオ透かしとの比較にさらに基づく。オーディオ透かしは、1個のメディアコンテンツの再生に対応するオーディオの不可聴部分である。この方法は、オーディオ透かしの解析に基づいて、1個のメディアコンテンツの再生に対応するオーディオのソースを識別するアクションをさらに含む。既定のホットワードに続くオーディオの一部分に対してスピーチ認識を実行するかどうかを判定するアクションは、1個のメディアコンテンツの再生に対応するオーディオのソースにさらに基づく。この方法は、オーディオ透かしの解析に基づいて、1個のメディアコンテンツの再生に対応するオーディオのソースを識別するアクションと、1個のメディアコンテンツの再生に対応するオーディオのソースを示すようにログファイルを更新するアクションと、をさらに含む。
【0010】
オーディオ透かしは、既定のホットワードの発語を含むオーディオの一部分に含まれる。この方法は、追加のコンピューティングデバイスのタイプを決定するアクションをさらに含む。既定のホットワードに続くオーディオの一部分に対してスピーチ認識を実行するかどうか判定するアクションは、追加のコンピューティングデバイスのタイプにさらに基づく。コンピューティングデバイスが、既定のホットワードに続くオーディオの一部分に対してスピーチ認識を実行するかどうか判定するアクションは、既定のホットワードに続くオーディオの一部分に対してスピーチ認識を実行すると決定するアクションを含む。この方法は、自動スピーチ認識器が既定のホットワードに続くオーディオの音訳を生成するアクションと、既定のホットワードに続くオーディオの音訳に対応するアクションを実行するアクションと、をさらに含む。コンピューティングデバイスが、既定のホットワードに続くオーディオの一部分に対してスピーチ認識を実行するかどうかを判定するアクションは、既定のホットワードに続くオーディオの一部分に対してスピーチ認識を実行しないと決定するアクションを含む。この方法は、1個のメディアコンテンツの再生に対応するオーディオに対応するアクションを抑制するアクションをさらに含む。
【0011】
この方法は、追加のコンピューティングデバイスの位置を決定するアクションをさらに含む。既定のホットワードに続くオーディオの一部分に対してスピーチ認識を実行するかどうか判定するアクションは、追加のコンピューティングデバイスの位置にさらに基づく。この方法は、追加のコンピューティングデバイスのユーザ設定を決定するアクションをさらに含む。既定のホットワードに続くオーディオの一部分に対してスピーチ認識を実行するかどうか判定するアクションは、追加のコンピューティングデバイスのユーザ設定にさらに基づく。コンピューティングデバイスが、オーディオが既定のホットワードの発語を含み、オーディオがオーディオ透かしを含むと判定するアクションは、オーディオが既定のホットワードの発語を含むと判定するアクションと、オーディオが既定のホットワードの発語を含むという判定に基づいて、オーディオがオーディオ透かしを含むと判定するアクションと、を含む。コンピューティングデバイスが、オーディオが既定のホットワードの発語を含み、オーディオがオーディオ透かしを含むと判定するアクションは、オーディオが既定のホットワードの発語を含むと判定するアクションと、オーディオが既定のホットワードの発語を含むと判定した後で、オーディオがオーディオ透かしを含むと判定するアクションと、を含む。
【0012】
オーディオ透かしを解析するアクションは、オーディオ透かし中に符号化されたデータを抽出するアクションを含む。既定のホットワードに続くオーディオの一部分に対してスピーチ認識を実行するかどうかを判定するアクションは、オーディオ透かし中に符号化されたデータにさらに基づく。この方法は、オーディオ透かしの解析に基づいて、1個のメディアコンテンツの再生に対応するオーディオのメディアコンテンツタイプを識別するアクションと、1個のメディアコンテンツの再生に対応するオーディオのメディアコンテンツタイプを示すようにログファイルを更新するアクションと、をさらに含む。この方法は、オーディオ透かしの解析に基づいて、1個のメディアコンテンツの再生に対応するオーディオのメディアコンテンツタイプを識別するアクションをさらに含む。既定のホットワードに続くオーディオの一部分に対してスピーチ認識を実行するかどうかを判定するアクションは、1個のメディアコンテンツの再生に対応するオーディオのメディアコンテンツタイプにさらに基づく。この方法は、オーディオ透かしの解析に基づいて、コンピューティングデバイスが、既定のホットワードに続くオーディオの一部分に対して自然言語処理を実行するかどうかを判定するアクションをさらに含む。
【0013】
この態様の他の実施形態は、これらの方法の動作を実行するようにそれぞれ構成された対応するシステム、装置、およびコンピュータストレージデバイスに記録されたコンピュータプログラムを含む。
【0014】
本明細書に記載する主題の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するように実施することができる。コンピューティングデバイスは、特定のオーディオ透かしのみを含むホットワードに応答することができるので、コンピューティングデバイスのバッテリ電力および処理能力を節約することができる。オーディオ透かしを備えるホットワードを受け取ったときに検索クエリを実行するコンピューティングデバイスの数が少ないので、ネットワーク帯域幅も節約することができる。さらに、オーディオ透かしを利用して、例えばユーザの近傍に位置しているラウドスピーカを介して出力してもユーザに聞こえない可能性がある状況で、ユーザのコンピューティングデバイスに情報(例えば口頭のクエリに対する応答、または何らかの種類の警告)をユーザに伝えさせることもできる。上記のようなユーザとしては、聴覚障害のあるユーザ、または自分のオーディオデバイスに接続されたパーソナルスピーカ(例えばヘッドフォン)で他のオーディオを聞いているユーザなどが挙げられる。例えば、コンピューティングデバイスが、特定のオーディオ透かしを高い優先度を示すものとして理解することもあり、そのような場合には、コンピューティングデバイスは、主オーディオを介して受け取るクエリに応答することができる。
【0015】
本明細書に記載する主題の1つまたは複数の実施形態の詳細を、添付の図面、および以下の説明に記載する。この主題の他の特徴、態様、および利点は、この説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0016】
【
図1】記録メディア中でホットワードを検出するときにホットワードトリガを抑制する例示的なシステムを示す図である。
【
図2】記録メディア中でホットワードを検出するときにホットワードトリガを抑制する例示的なプロセスを示す流れ図である。
【
図3】コンピューティングデバイスおよびモバイルコンピューティングデバイスの例を示す図である。
【0017】
様々な図面で、同じ参照番号および名称は、同じ要素を指している。
【発明を実施するための形態】
【0018】
図1は、記録メディア中でホットワードを検出するときにホットワードトリガを抑制する例示的なシステム100を示す図である。以下でさらに詳細に述べるが、簡単に言うと、コンピューティングデバイス102および104は、オーディオ源106(例えばテレビジョン)からオーディオ108を受け取る。オーディオ108は、既定のホットワードの発語およびオーディオ透かしを含む。コンピューティングデバイス102および104の両方が、オーディオ108を処理し、オーディオ108が既定のホットワードを含むと判定する。コンピューティングデバイス102および104は、オーディオ透かしを識別する。このオーディオ透かしと、コンピューティングデバイス102および104のコンテキストまたは特徴に基づいて、各コンピューティングデバイス102および104は、そのオーディオに対してスピーチ認識を実行することができる。
【0019】
図1に示す例では、オーディオ源106は、Nugget Worldに関連するメディアコンテンツを再生している。このメディアコンテンツ中に、メディアコンテンツ内の俳優が、「OK、コンピュータ、ナゲットには何が入っている?」という発語108を口にする。この発語108は、「OK、コンピュータ」というホットワード110と、「ナゲットには何が入っている?」というクエリ112とを含んでいる。オーディオ源106は、スピーカを通して発語108を出力する。マイクロフォンを有する近傍の任意のコンピューティングデバイスは、この発語108を検出することができる。
【0020】
発語108のオーディオは、可聴部分114と、オーディオ透かし116とを含む。メディアコンテンツの制作者は、オーディオ透かし116を追加して、特定のコンピューティングデバイスが発語108に正しく応答することを確実にすることができる。いくつかの実施態様では、オーディオ透かし116は、人間の可聴範囲より高い、または低いオーディオ周波数を含むことがある。例えば、オーディオ透かし116は、20kHz超、または20Hz未満の周波数を含むこともある。いくつかの実施態様では、オーディオ透かし116は、人間の可聴範囲内であるが、その音がノイズに似ているために人間には検出できないオーディオを含むこともある。例えば、オーディオ透かし116は、8kHzから10kHzの間の周波数パターンを含むことがある。様々な周波数帯域の強さは、人間には知覚できない可能性があるが、コンピューティングデバイスには検出可能である可能性がある。オーディオ108の周波数領域表現118に示すように、オーディオ108は、可聴部分114より高い周波数範囲に含まれるオーディオ透かし116を含む。
【0021】
コンピューティングデバイス102および104は、マイクロフォンを通してオーディオを受け取ることができる任意のタイプのデバイスとすることができる。例えば、コンピューティングデバイス102および104は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ウェアラブルコンピュータ、携帯電話、スマートフォン、音楽プレイヤ、電子書籍リーダ、ナビゲーションシステム、スマートスピーカ/ホームアシスタント、ワイヤレス(例えばBluetooth(登録商標))ヘッドセット、補聴器、スマートウォッチ、スマートグラス、生活活動量計、またはその他の任意の適当なコンピューティングデバイスとすることができる。
図1では、コンピューティングデバイス102は、スマートフォンであり、コンピューティングデバイス104は、デスクトップコンピュータである。オーディオ源106は、例えばテレビジョン、ラジオ、音楽プレイヤ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ウェアラブルコンピュータ、携帯電話、またはスマートフォンなど、任意のオーディオ源とすることができる。
図1では、オーディオ源106は、テレビジョンである。
【0022】
コンピューティングデバイス102および104は、それぞれマイクロフォンを通してオーディオを受け取る。コンピューティングデバイス102に関して言えば、マイクロフォンは、オーディオサブシステム120の一部とすることができる。オーディオサブシステム120は、マイクロフォンを通して受け取ったオーディオを最初に処理するようにそれぞれ設計された、バッファ、フィルタ、アナログデジタル変換器を含む可能性がある。バッファは、マイクロフォンを通して受け取られ、オーディオサブシステム120によって処理された、現在のオーディオを格納することができる。例えば、バッファは、直前5秒間のオーディオデータを格納する。同様に、コンピューティングデバイス104のマイクロフォンは、オーディオサブシステム122の一部とすることができる。オーディオサブシステム122は、マイクロフォンを通して受け取ったオーディオを最初に処理するようにそれぞれ設計された、バッファ、フィルタ、アナログデジタル変換器を含む可能性がある。バッファは、マイクロフォンを通して受け取られ、オーディオサブシステム122によって処理された、現在のオーディオを格納することができる。例えば、バッファは、直前3秒間のオーディオデータを格納する。
【0023】
コンピューティングデバイス102および104は、ホットワーダ124および126をそれぞれ含む。ホットワーダ124および126は、マイクロフォンを通して受け取られ、かつ/またはバッファに格納されているオーディオ中のホットワードを識別するようにそれぞれ構成されている。いくつかの実施態様では、ホットワーダ124および126は、コンピューティングデバイス102および104が電源投入されているときには常に活動状態にすることができる。ホットワーダ124は、バッファに格納されているオーディオデータを継続的に解析する。ホットワーダ124は、バッファ中の現在のオーディオデータがホットワードを含む可能性を反映するホットワード信頼度スコアを計算する。ホットワード信頼度スコアを計算するために、ホットワーダ124は、フィルタバンクエネルギーまたはメル周波数ケプストラム係数などのオーディオ特徴をオーディオデータから抽出することができる。ホットワーダ124は、サポートベクターマシンまたはニューラルネットワークを使用するなど、分類ウィンドウを使用して、これらのオーディオ特徴を処理することができる。いくつかの実施態様では、ホットワーダ124は、ホットワード信頼度スコアを決定するためにスピーチ認識を行わない。ホットワーダ124は、ホットワード信頼度スコアがホットワード信頼度スコアしきい値を満たす場合に、オーディオがホットワードを含むと判定する。例えば、ホットワード信頼度スコアが0.8であり、ホットワード信頼度スコアしきい値が0.7である場合には、ホットワーダ124は、発語108に対応するオーディオがホットワード110を含むと判定する。ホットワーダ126は、ホットワーダ124と同様に機能することができる。
【0024】
コンピューティングデバイス102および104は、オーディオ透かし識別器128および130をそれぞれ含む。オーディオ透かし識別器128および130は、マイクロフォンを通して受け取られ、かつ/またはバッファに格納されているオーディオを処理し、そのオーディオに含まれるオーディオ透かしを識別するようにそれぞれ構成されている。オーディオ透かし識別器128および130は、スペクトラム拡散および音響心理学的シェーピングのタイプの透かしを検出するようにそれぞれ構成することができる。これらのタイプの透かしは、対応するオーディオの周波数帯域と重複する周波数帯域に位置することがある。人間は、これらのタイプの透かしをノイズとして知覚することがある。オーディオ透かし識別器128および130は、また、高周波数透かしを検出するようにそれぞれ構成することもできる。これらのタイプの透かしは、対応するオーディオの周波数帯域より高い周波数帯域に位置することがある。高周波数透かしの周波数帯域は、人間の聴覚のしきい値より高いことがある。オーディオ透かし識別器128および130は、また、低周波数透かしを検出するようにそれぞれ構成することもできる。これらのタイプの透かしは、対応するオーディオの周波数帯域より低い周波数帯域に位置することがある。低周波数透かしの周波数帯域は、人間の聴覚のしきい値より低いことがある。いくつかの実施態様では、オーディオ透かし識別器128および130は、それぞれのホットワーダ124および126がホットワードを検出したのに応答してオーディオを処理する。
【0025】
オーディオ透かし識別器128および130は、オーディオ透かしと主オーディオとを分離するようにそれぞれ構成することもできる。主オーディオは、オーディオのうち、オーディオ透かしが付加されている部分とすることができる。例えば、主オーディオは、透かし116を含まない、「OK、コンピュータ、ナゲットには何が入っている?」に対応するオーディオを含む可聴部分114を含むことがある。オーディオ透かし識別器128は、コンピューティングデバイス102のマイクロフォンを通して受け取ったオーディオ118を、主オーディオ132と、オーディオ透かし134とに分離する。同様に、オーディオ透かし識別器130は、コンピューティングデバイス104のマイクロフォンを通して受け取ったオーディオ118を、主オーディオ136と、オーディオ透かし138とに分離する。いくつかの実施態様では、オーディオ透かしと主オーディオとが、時間領域で重複していることもある。
【0026】
いくつかの実施態様では、オーディオ透かし識別器128および130は、それぞれオーディオ透かし134および138を処理して、そのオーディオ透かしの対応するビットストリームを識別することができる。例えば、オーディオ透かし識別器128は、オーディオ透かし134を処理し、オーディオ透かし134がビットストリーム0101101110101に対応すると判定することもある。オーディオ透かし識別器130は、オーディオ透かし138に対して同様の処理を行うことができる。
【0027】
オーディオ透かし比較器140は、オーディオ透かし134をオーディオ透かし142と比較し、オーディオ透かし比較器144は、オーディオ透かし138をオーディオ透かし146と比較する。例えば、オーディオ透かし比較器140は、透かし134の周波数パターンまたはビットストリームを、オーディオ透かし142と比較することができる。オーディオ透かし比較器140は、オーディオ透かし134がNugget Worldのオーディオ透かしと一致すると判定することがある。オーディオ透かし比較器144は、同様の判定を行うことができる。
【0028】
オーディオ透かし142および146は、様々なエンティティがホットワードを含むメディアコンテンツのオーディオあるいはその他の配信または放送されるオーディオに埋め込むオーディオ透かしを含む可能性がある。Nugget Worldは、特定のデバイスだけがホットワードに応答し、オーディオに対してスピーチ認識を実行し、クエリ112を実行することを保証するために、オーディオ108に透かしを含めることがある。Nugget Worldは、オーディオ透かし142および146に含めるオーディオ透かし116を、オーディオ透かし116を備えるホットワードにデバイスが応答するときのための命令とともに提供することがある。例えば、Nugget Worldは、Nugget Worldのレストラン内に位置しているNugget Worldユーザ識別子を有する任意のデバイスが、オーディオ透かし116を備えるホットワードに応答するための命令を、オーディオ透かし142および146に含めることがある。いくつかの実施態様では、オーディオ透かし142および146は、コンピューティングデバイス102および104に格納され、例えば毎日一度など定期的に更新される。いくつかの実施態様では、オーディオ透かし142または146、オーディオ透かし識別器128および130、ならびに/あるいはオーディオ透かし比較器140および144が、遠隔サーバ上に位置することもある。この場合には、コンピューティングデバイス102または104は、ネットワークを介して遠隔サーバと通信することができる。
【0029】
コンピューティングデバイス102は、オーディオ透かし134を抽出し、オーディオ透かし134をNugget Worldの透かしと突き合わせる。そのNugget Worldの透かしに対応するオーディオ透かし142の命令に基づいて、コンピューティングデバイス102は、主オーディオ132に対してスピーチ認識を実行し、対応する音訳に含まれる任意のクエリまたはコマンドを実行することができる。これらの命令は、コンピューティングデバイス102がスピーチ認識を実行するかどうかを判定するために従うルールのセットを含むことがある。
【0030】
コンピューティングデバイス102は、位置検出器156を含む。位置検出器156は、コンピューティングデバイスの位置を反映した地理学的位置データを生成することができる。位置検出器156は、例えばGPS、三角法、および/またはそれらに類するその他の任意の位置特定技術など、任意の地理学的位置特定技術を使用することができる。いくつかの実施態様では、位置検出器156は、様々な関心点の位置を示す地図または位置データにアクセスすることもできる。位置検出器156は、さらに、コンピューティングデバイスが位置している関心点を識別することもできる。例えば、位置検出器156は、コンピューティングデバイス102がNugget Worldに位置していると判定することもある。
【0031】
コンピューティングデバイス102は、デバイス識別子158を含む。デバイス識別子158は、コンピューティングデバイス102についてデバイスのタイプを識別するデバイス識別160を含む。デバイス識別160は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ウェアラブルコンピュータ、携帯電話、スマートフォン、音楽プレイヤ、電子書籍リーダ、ナビゲーションシステム、スマートスピーカ/ホームアシスタント、またはその他の任意の適当なコンピューティングデバイスである可能性がある。例えば、コンピューティングデバイス102のデバイス識別160は、電話である。
【0032】
コンピューティングデバイス102は、ユーザ識別子162を含む。ユーザ識別子162は、コンピューティングデバイス102のユーザを識別するユーザ識別164を含む。ユーザ識別164は、電子メールアドレス、電話番号、またはそれらに類するその他の任意の種類の一意的なユーザ識別子である可能性がある。例えば、コンピューティングデバイス102のユーザ識別164は、user@example.comである。ユーザ識別子162は、ユーザ154が入力することができる。
【0033】
コンピューティングデバイス102は、ユーザ設定152を含む。ユーザ設定152は、ユーザ154が与えることができ、コンピューティングデバイス102がどのようにホットワードに応答するかについての追加のルールを含むことがある。例えば、ユーザ設定152は、コンピューティングデバイス102が家にあるときにオーディオ透かしを含むホットワードを受け取らない限り、コンピューティングデバイス102は、オーディオ透かしを含むいかなるホットワードにも応答しないというルールを含むことがある。別の例としては、ユーザ設定152は、コンピューティングデバイス102は、Chicken Worldなど特定のエンティティ(例えばメディアコンテンツの所有者または制作者)に対応するオーディオ透かしを含むホットワードに応答しないというルールを含むこともある。いくつかの実施態様では、ユーザ154は、コンピューティングデバイス102が特定のエンティティの透かしを備えたホットワードに応答できるようにすることに同意することもある。
【0034】
図1に示す例では、スピーチ認識器166は、スピーチ認識器状態168が示すように非活動状態のままである。コンピューティングデバイス102は、オーディオ透かしに格納されるオーディオ透かし134に対応する命令が、デバイス位置、ユーザ設定152、デバイス識別160、およびユーザ識別164に当てはまることに基づいて、スピーチ認識器状態168を非活動状態に設定する。例えば、オーディオ透かし134に対応する命令は、ユーザ識別164がNugget World識別子であり、デバイスがNugget Worldのレストランに位置している場合にスピーチ認識器状態168を活動状態に設定する、というものであることもある。コンピューティングデバイス102については、ユーザ識別164は、Nugget World識別子ではない。したがって、スピーチ認識器状態168は、非活動状態である。
【0035】
いくつかの実施態様では、コンピューティングデバイス102のユーザインタフェース生成器148は、グラフィカルインタフェース用のデータをコンピューティングデバイスのディスプレイに提供することがある。グラフィカルインタフェースは、コンピューティングデバイスがプロセスまたはアクションを実行しているとき、実行する前、または実行した後で、コンピューティングデバイス102のプロセスまたはアクションを示すことができる。例えば、ユーザインタフェース生成器148は、コンピューティングデバイス102が受け取ったオーディオを処理中であること、コンピューティングデバイス102がオーディオ透かし134の識別中であること、スピーチ認識器状態168、および/あるいは識別したオーディオ透かし134の任意の特性またはルールを示すインタフェースを表示することがある。
【0036】
いくつかの実施態様では、ユーザインタフェース生成器148は、スピーチ認識器状態168が非活動状態であることを示すインタフェースを生成することがある。このインタフェースは、スピーチ認識器状態168をオーバライドするためのユーザ選択可能なオプションを含むこともある。例えば、ユーザ154は、スピーチ認識器状態168を活動状態に設定するオプションを選択することもある。「ナゲットには何が入っている?」というクエリ112を聞いて、ユーザ154が興味を覚え、コンピューティングデバイス102がクエリ112を処理して出力を提供することを要求することもある。
【0037】
いくつかの実施態様では、コンピューティングデバイス102は、オーディオ透かしログ170を含むことがある。オーディオ透かしログ170は、コンピューティングデバイス102が各オーディオ透かしを受け取った回数を示すデータを含むことがある。例えば、コンピューティングデバイス102は、オーディオ透かし134を受け取って識別するたびに、オーディオ透かし134を受け取ったことを示すデータをオーディオ透かしログ170に格納することがある。このデータは、タイムスタンプ、デバイス位置、任意の関連のあるユーザ設定、ユーザ識別子、およびそれらに類するその他の任意の情報を含む可能性がある。いくつかの実施態様では、コンピューティングデバイス102は、オーディオ透かしログ170のデータを、サーバ上の集合オーディオ透かしログに提供し、サーバは、オーディオ透かしを受け取る様々なコンピューティングデバイスからのオーディオ透かしログを結合する。集合オーディオ透かしログは、受け取ったコンピューティングデバイスのユーザ識別、デバイス識別子、およびオーディオ透かしログ170に格納されているデータを含む可能性がある。いくつかの実施態様では、集合オーディオ透かしログ内のデータとオーディオ透かしログ170内のデータとが同期していることもある。その場合には、オーディオ透かしログ170は、様々なデバイスからの追加のログデータ、ならびにそれらの様々なデバイスを識別するデータ、様々なユーザ、位置情報、タイムスタンプデータ、およびその他の関連情報を含むことがある。
【0038】
いくつかの実施態様では、特定のオーディオ透かしについての命令は、オーディオ透かしログ170に格納されているデータに関係する命令を含むことがある。これらの命令は、特定のオーディオ透かしでマークされたホットワードがスピーチ認識を起動する特定の回数に関することがある。例えば、これらの命令は、24時間の期間内に、オーディオ透かし116はスピーチ認識器166を1回しか起動しないということを示すこともある。
【0039】
いくつかの実施態様では、オーディオデバイス106のメディアコンテンツの制作者は、集合オーディオ透かしログにアクセスして、ホットワード110および対応するオーディオ透かし116がスピーチ認識器を起動するたびにそれに関する詳細を識別することもある。いくつかの実施態様では、ユーザは、デバイス上のユーザ設定を通して、コンピューティングデバイスがオーディオ透かしログを集合オーディオ透かしログにアップロードしないように指示することもある。
【0040】
コンピューティングデバイス104は、コンピューティングデバイス102がオーディオ透かし134を処理するのと同様に、オーディオ透かし138を処理する。特に、コンピューティングデバイス104は、オーディオ透かし138を抽出し、このオーディオ透かし138をNugget Worldの透かしと突き合わせる。そのNugget Worldの透かしに対応するオーディオ透かし146の命令に基づいて、コンピューティングデバイス104は、主オーディオ136に対してスピーチ認識を実行し、対応する音訳に含まれる任意のクエリまたはコマンドを実行することができる。これらの命令は、コンピューティングデバイス104がスピーチ認識を実行するかどうかを判定するために従うルールのセットを含むことがある。
【0041】
コンピューティングデバイス104は、位置検出器176を含む。位置検出器176は、コンピューティングデバイスの位置を反映した地理学的位置データを生成することができる。位置検出器176は、例えばGPS、三角法、および/またはそれらに類するその他の任意の位置特定技術など、任意の地理学的位置特定技術を使用することができる。いくつかの実施態様では、位置検出器176は、様々な関心点の位置を示す地図または位置データにアクセスすることもできる。位置検出器176は、さらに、コンピューティングデバイス104が位置している関心点を識別することもできる。例えば、位置検出器176は、コンピューティングデバイス104がNugget Worldに位置していると判定することもある。
【0042】
コンピューティングデバイス104は、デバイス識別子178を含む。デバイス識別子178は、コンピューティングデバイス104についてデバイスのタイプを識別するデバイス識別180を含む。デバイス識別180は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ウェアラブルコンピュータ、携帯電話、スマートフォン、音楽プレイヤ、電子書籍リーダ、ナビゲーションシステム、スマートスピーカ/ホームアシスタント、またはその他の任意の適当なコンピューティングデバイスである可能性がある。例えば、コンピューティングデバイス104のデバイス識別180は、デスクトップコンピュータである。
【0043】
コンピューティングデバイス104は、ユーザ識別子182を含む。ユーザ識別子182は、コンピューティングデバイス104のユーザを識別するユーザ識別184を含む。ユーザ識別184は、電子メールアドレス、電話番号、またはそれらに類するその他の任意の種類の一意的なユーザ識別子である可能性がある。例えば、コンピューティングデバイス104のユーザ識別184は、store@nuggetworld.comである。ユーザ識別子182は、ユーザが入力することができる。
【0044】
コンピューティングデバイス104は、ユーザ設定186を含む。ユーザ設定186は、ユーザが与えることができ、コンピューティングデバイス104がどのようにホットワードに応答するかについての追加のルールを含むことがある。例えば、ユーザ設定186は、コンピューティングデバイス104がNugget Worldのレストランに位置していない限り、コンピューティングデバイス104はオーディオ透かしを含むいかなるホットワードにも応答しないというルールを含むことがある。別の例としては、ユーザ設定186は、コンピューティングデバイス104は、Nugget Worldのオーディオ透かしでマークされたホットワード以外のいかなるホットワードにも応答しないというルールを含むこともある。別の例としては、ユーザ設定186は、コンピューティングデバイス104は、Nugget Worldの営業時間外にはいかなる種類のオーディオ透かしを有するいかなるホットワードにも応答しないと示すこともある。
【0045】
図1に示す例では、スピーチ認識器172は、スピーチ認識器状態174が示すように活動状態である。コンピューティングデバイス104は、オーディオ透かしに格納されるオーディオ透かし138に対応する命令が、デバイス位置、ユーザ設定186、デバイス識別180、およびユーザ識別184に当てはまることに基づいて、スピーチ認識器状態174を活動状態に設定する。例えば、オーディオ透かし138に対応する命令は、ユーザ識別184がNugget World識別子であり、デバイスがNugget Worldのレストランに位置している場合にスピーチ認識器状態174を活動状態に設定する、というものであることもある。コンピューティングデバイス104については、ユーザ識別184は、Nugget World識別子であり、その位置は、Nugget Worldである。したがって、スピーチ認識器状態174は、活動状態である。
【0046】
スピーチ認識器172は、主オーディオ136に対してスピーチ認識を実行する。スピーチ認識器172は、「ナゲットには何が入っている?」という音訳を生成する。コンピューティングデバイス104は、この音訳がクエリに対応する場合には、この音訳を検索エンジンに提供することもある。コンピューティングデバイスは、この音訳がコマンドに対応する場合には、コマンドを実行することができる。
図1の例では、コンピューティングデバイス104は、主オーディオ136の音訳を検索エンジンに提供する。検索エンジンは、結果を戻し、コンピューティングデバイス104は、スピーカを通してその結果を出力することができ、このスピーカは、例えばコンピューティングデバイスのスピーカ、またはヘッドフォン、イヤフォン、インナーイヤー型イヤフォンなどの、コンピューティングデバイスに接続されたパーソナルスピーカとすることができる。パーソナルスピーカを介して結果を出力することは、例えば情報が主オーディオに含まれた状態で出力されるとその情報をユーザが聞き取ることができないときに、情報をユーザに提供するのに有用であることがある。例えば、Nugget Worldの例では、コンピューティングデバイス104は、「ナゲットには鶏肉が入っています」というオーディオ190を出力することがある。いくつかの実施態様では、ユーザインタフェース生成器150は、コンピューティングデバイス104のディスプレイに検索結果を表示することができる。これは、情報が主オーディオに含まれた状態で出力された場合、またはコンピューティングデバイスに関連するスピーカを介して出力された場合にその情報を聞き取ることができない可能性がある聴覚障害者などのユーザに情報を提供するのに特に有用であることがある。
【0047】
いくつかの実施態様では、ユーザインタフェース生成器150は、追加のインタフェースを提供することもある。グラフィカルインタフェースは、コンピューティングデバイス104がプロセスまたはアクションを実行しているとき、実行する前、または実行した後で、コンピューティングデバイス104のプロセスまたはアクションを示すことができる。例えば、ユーザインタフェース生成器150は、コンピューティングデバイス104が受け取ったオーディオを処理中であること、コンピューティングデバイス104がオーディオ透かし138の識別中であること、スピーチ認識器状態174、および/あるいは識別したオーディオ透かし138の任意の特性またはルールを示すインタフェースを表示することがある。
【0048】
いくつかの実施態様では、ユーザインタフェース生成器150は、スピーチ認識器状態174が活動状態であることを示すインタフェースを生成することがある。このインタフェースは、スピーチ認識器状態174をオーバライドするためのユーザ選択可能なオプションを含むこともある。例えば、ユーザは、音訳に関係する任意のアクションを抑制するようにスピーチ認識器状態174を設定するオプションを選択することもある。いくつかの実施態様では、ユーザインタフェース生成器150は、最近受け取ったオーバライド、およびコンピューティングデバイス104の現在の特性に基づいてユーザ設定186を更新するインタフェースを生成することもある。ユーザインタフェース生成器150は、また、オーバライドコマンドを受け取った後で同様のインタフェースを提供することもある。
【0049】
いくつかの実施態様では、コンピューティングデバイス104は、オーディオ透かしログ188を含むことがある。オーディオ透かしログ188は、コンピューティングデバイス104が受け取るオーディオ透かしに基づいて、オーディオ透かしログ170と同様のデータを格納することができる。オーディオ透かしログ188は、オーディオ透かしログ170と同様の方法で、集合オーディオ透かしログと対話することができる。
【0050】
いくつかの実施態様では、コンピューティングデバイス102および104は、オーディオ透かし142および146に格納されるルールとは無関係に、それぞれ主オーディオ134および138に対してスピーチ認識を実行することができる。オーディオ透かし142および146は、部分的に音訳に基づいて主オーディオのアクションを実行することに関係するルールを含むことがある。
【0051】
図2は、記録メディア中でホットワードを検出するときにホットワードトリガを抑制する例示的なプロセス200を示す図である。一般に、プロセス200は、ホットワードおよび透かしを含むオーディオに基づいてメディアコンテンツに対応するオーディオに対してスピーチ認識を実行するものである。プロセス200について、例えば
図1に示すコンピューティングデバイス102または104などの1つまたは複数のコンピュータを含むコンピュータシステムによって実行されるものとして説明する。
【0052】
このシステムは、1個のメディアコンテンツの再生に対応するオーディオを受け取る(210)。いくつかの実施態様では、このオーディオは、システムのマイクロフォンを通して受け取ることができる。このオーディオは、テレビジョンまたはラジオで再生されるメディアコンテンツのオーディオに対応していることがある。
【0053】
このシステムは、このオーディオが、既定のホットワードの発語およびオーディオ透かしを含むと判定する(220)。いくつかの実施態様では、オーディオ透かしは、オーディオの不可聴部分である。例えば、オーディオ透かしは、人間の聴覚の周波数帯域より高い、またはそれより低い周波数帯域に位置することがある。いくつかの実施態様では、オーディオ透かしは可聴であるが、ノイズのように聞こえる。いくつかの実施態様では、オーディオ透かしは、既定のホットワードのオーディオと重複している。いくつかの実施態様では、システムは、オーディオが既定のホットワードを含むと判定する。この判定に応答して、システムは、このオーディオを処理して、このオーディオがオーディオ透かしを含むかどうかを判定する。
【0054】
このシステムは、このオーディオ透かしを、1つまたは複数のオーディオ透かしと比較する(230)。いくつかの実施態様では、システムは、このオーディオ透かしを、オーディオ透かしのデータベースと比較することもある。このデータベースは、このシステム上、または異なるコンピューティングデバイス上に格納することができる。システムは、オーディオ透かしのデジタル表現またはオーディオ透かしのアナログ表現を、時間領域および/または周波数領域で比較することができる。システムは、一致するオーディオ透かしを識別し、識別したオーディオ透かしについてデータベースに指定されているルールにしたがって、そのオーディオを処理する。いくつかの実施態様では、システムは、オーディオ透かしのソースまたは所有者を識別することもある。例えば、ソースまたは所有者は、エンティティ、Nugget Worldであることもある。システムは、システムがNugget Worldのオーディオ透かしを備えたホットワードを受け取ったことを示すようにログファイルを更新することができる。
【0055】
システムは、オーディオ透かしと1つまたは複数のオーディオ透かしとの比較に基づいて、そのオーディオの既定のホットワードに続く部分に対してスピーチ認識を実行するかどうかを判定する(240)。識別したオーディオ透かしについてデータベースに指定されているルール、オーディオ透かしのソース、およびシステムのコンテキストに基づいて、システムは、既定のホットワードに続くオーディオに対してスピーチ認識を実行するかどうかを判定する。システムのコンテキストは、システムの種類、システムの位置、および任意のユーザ設定の任意の組合せに基づいていることもある。例えば、ルールが、ユーザの家に位置している携帯電話は、ユーザが住んでいるアパートの管理会社の特定の透かしを備えたホットワードを受け取ったら、そのオーディオに対してスピーチ認識を実行しなければならないと指定することもある。いくつかの実施態様では、システムは、このオーディオ透かしと1つまたは複数の透かしとの比較に基づいて、あるいはこのオーディオ透かしの解析に基づいて、そのオーディオの既定のホットワードに続く部分に対して自然言語処理を実行するかどうかを判定する。システムは、スピーチ認識に加えて自然言語処理を行うこともあるし、あるいはスピーチ認識の代わりに自然言語処理を行うこともある。
【0056】
システムがスピーチ認識を実行すると決定した場合には、システムは、ホットワードに続くオーディオの音訳を生成する。システムは、アパート建設会合の約束をカレンダーに追加するなど、音訳に含まれるコマンドを実行する、または検索エンジンにクエリを提示する。システムは、システムのスピーカを介して、またはシステムのディスプレイ上に、あるいはその両方によって、検索結果を出力することができる。
【0057】
システムがスピーチ認識を実行しないと決定した場合には、システムは、スリープモード、待機モード、または低エネルギーモードに留まることがある。システムは、オーディオを処理している間、スリープモード、待機モード、または低エネルギーモードであることがあり、システムがオーディオに対してスピーチ認識を実行しない場合も、スリープモード、待機モード、または低エネルギーモードに留まることがある。いくつかの実施態様では、ユーザ154は、コンピューティングデバイス102がオーディオ118を受け取るときにコンピューティングデバイス102を使用していることがある。例えば、ユーザ154は、音楽を聴いていたり、またはフォトアプリケーションを見ていたりすることもある。この場合には、ホットワードおよびオーディオ透かしの処理は、バックグラウンドで行うことができ、ユーザの活動が中断されないようにすることができる。いくつかの実施態様では、オーディオは、オーディオ透かしを含まないこともある。この場合には、システムは、ホットワードの後のオーディオに対してスピーチ認識を実行し、そのオーディオに含まれる任意のコマンドまたはクエリを実行することができる。
【0058】
いくつかの実施態様では、システムは、オーディオのメディアコンテンツのタイプを決定することがある。システムは、オーディオ透かしを、オーディオ透かしデータベースに含まれるオーディオ透かしと比較することができる。システムは、オーディオ透かしデータベース中の一致するオーディオ透かしを識別することができ、この一致するオーディオ透かしが、その特定のオーディオ透かしのメディアコンテンツのタイプを特定することができる。システムは、その特定したメディアコンテンツのタイプについてのルールを適用することができる。例えば、オーディオ透かしデータベースが、あるオーディオ透かしが、セールスメディア、ディレクショナルメディア(directional media)、商業メディア、政治メディア、またはその他の任意のタイプのメディアに含まれていることを示すことがある。この場合には、システムは、そのメディアのタイプについての一般ルールに従うことがある。例えば、そのルールは、システムが家に位置しているときには、商業メディアについてのみスピーチ認識を実行する、というものであることもある。また、そのルールは、受け取ったオーディオ透かしに特有のルールであることもある。いくつかの実施態様では、システムは、メディアコンテンツのタイプもオーディオ透かしログに記録することがある。
【0059】
いくつかの実施態様では、システムは、オーディオ透かしを解析することがある。システムは、オーディオ透かしをオーディオ透かしデータベースと比較する代わりにオーディオ透かしを解析することもあるし、あるいはオーディオ透かしデータベースとの比較と組み合わせてオーディオ透かしを解析することもある。オーディオ透かしは、アクション、識別子、ルール、またはそれらに類するその他の任意のデータを符号化していることがある。システムは、オーディオ透かしを復号し、復号したオーディオ透かしにしたがってオーディオを処理することができる。オーディオ透かしは、ヘッダおよびペイロードとして符号化することができる。システムは、ヘッダを識別することもあり、このヘッダは、全て、またはほとんど全てのオーディオ透かしに共通であることもある、あるいは特定のオーディオ透かしのグループを特定することもある。ペイロードは、ヘッダの後にあることもあり、アクション、識別子、ルール、またはそれらに類するその他のデータを符号化していることがある。
【0060】
システムは、オーディオ透かしに符号化されたルールを適用することができる。例えば、そのルールは、システムが、システムに格納されたユーザ識別子に対応する位置に位置するスマートスピーカである場合に、システムが、ホットワードに続くオーディオの部分に対してスピーチ認識を実行する、というものであることもある。この場合には、システムは、オーディオ透かしデータベースにアクセスする必要がないこともある。いくつかの実施態様では、システムは、オーディオ透かしに符号化されたルールをオーディオ透かしデータベースに追加することもある。
【0061】
システムは、オーディオ透かしデータベースと組み合わせて、オーディオ透かしに符号化されたデータを使用することもある。例えば、オーディオ透かしに符号化されたデータは、そのオーディオが政治的なメディアコンテンツであることを示していることもある。システムは、オーディオ透かしに対応するルールであって、システムがユーザの家に位置しているときにその政治的メディアコンテンツの透かし、または商業メディアコンテンツの透かしを含むオーディオに対してシステムがスピーチ認識を実行するように指定するルールにアクセスする。この場合には、オーディオ透かしは、システムがオーディオ透かしデータベース内の対応するオーディオ透かしを識別するために使用することができるヘッダまたはその他の部分を含むことがある。ペイロードは、そのメディアコンテンツのタイプ、あるいはアクション、識別子、またはルールなどその他のデータを符号化していることもある。
【0062】
図3は、本明細書に記載する技術を実施するために使用することができる、コンピューティングデバイス300およびモバイルコンピューティングデバイス350の例を示す図である。コンピューティングデバイス300は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、およびその他の適当なコンピュータなど、様々な形態のデジタルコンピュータを表すものと意図されている。モバイルコンピューティングデバイス350は、携帯情報端末、携帯電話、スマートフォン、ワイヤレス(例えばBluetooth(登録商標))ヘッドセット、補聴器、スマートウォッチ、スマートグラス、生活活動量計、およびそれらに類するその他のコンピューティングデバイスなど、様々な形態のモバイルデバイスを表すものと意図されている。ここに示す構成要素、それらの接続および関係、ならびにそれらの機能は、例示のみを目的としたものであり、限定のためのものではない。
【0063】
コンピューティングデバイス300は、プロセッサ302と、メモリ304と、ストレージデバイス306と、メモリ304および複数の高速拡張ポート310に接続する高速インタフェース308と、低速拡張ポート314およびストレージデバイス306に接続する低速インタフェース312とを含む。プロセッサ302、メモリ304、ストレージデバイス306、高速インタフェース308、高速拡張ポート310、および低速インタフェース312は、様々なバスを用いて相互接続されており、共通のマザーボードに取り付けることもできるし、あるいは適宜その他の方法で取り付けることもできる。プロセッサ302は、GUIのためのグラフィック情報を、高速インタフェース308に結合されたディスプレイ316などの外部入出力デバイス上に表示するためのメモリ304またはストレージデバイス306に格納された命令など、コンピューティングデバイス300内で実行される命令を処理する。他の実施態様では、複数のメモリ、および複数種類のメモリとともに、適宜、複数のプロセッサおよび/または複数のバスを使用することもできる。また、複数のコンピューティングデバイスを接続して、各デバイスが必要な動作の一部分を(例えばサーババンクとして、ブレードサーバのグループとして、またはマルチプロセッサシステムとして)提供するようにすることもできる。
【0064】
メモリ304は、コンピューティングデバイス300内の情報を格納する。いくつかの実施態様では、メモリ304は、1つまたは複数の揮発性メモリユニットである。いくつかの実施態様では、メモリ304は、1つまたは複数の不揮発性メモリユニットである。メモリ304は、磁気ディスクまたは光ディスクなど、別の形態のコンピュータ可読媒体であってもよい。
【0065】
ストレージデバイス306は、コンピューティングデバイス300に大容量記憶域を提供することができる。いくつかの実施態様では、ストレージデバイス306は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイスなどのコンピュータ可読媒体、フラッシュメモリもしくはそれに類するその他のソリッドステートメモリデバイス、または記憶領域ネットワークもしくはその他の構成のデバイスを含むデバイスのアレイである、あるいはそれらを含む可能性がある。命令は、情報担体に格納することができる。命令は、1つまたは複数の処理デバイス(例えばプロセッサ302)によって実行されると、上記に記載した方法など、1つまたは複数の方法を実行する。命令は、また、コンピュータ可読媒体または機械可読媒体など、1つまたは複数のストレージデバイス(例えばメモリ304、ストレージデバイス306、またはプロセッサ302上のメモリ)によって格納することもできる。
【0066】
高速インタフェース308は、コンピューティングデバイス300の帯域消費性の高い動作を管理し、低速インタフェース312は、帯域消費性の低い動作を管理する。このような機能の割振りは、単なる例示である。いくつかの実施態様では、高速インタフェース308は、メモリ304、ディスプレイ316(グラフィックスプロセッサまたはアクセラレータを通して)、および様々な拡張カード(図示せず)を受けることができる高速拡張ポート310に結合される。その実施態様では、低速インタフェース312は、ストレージデバイス306、および低速拡張ポート314に結合される。様々な通信ポート(例えばUSB、Bluetooth(登録商標)、Ethernet、ワイヤレスEthernet)を含む可能性がある低速拡張ポート314は、例えばネットワークアダプタを通して、キーボード、ポインティングデバイス、スキャナ、マイクロフォン、スピーカ、あるいはスイッチまたはルータなどのネットワーキングデバイスなど、1つまたは複数の入出力デバイスに結合することができる。
【0067】
コンピューティングデバイス300は、図示のように、いくつかの異なる形態で実装することができる。例えば、コンピューティングデバイス300は、標準的なサーバ320として実装することも、またはそのようなサーバのグループに複数回実装することもできる。さらに、コンピューティングデバイス300は、ラップトップコンピュータ322などのパーソナルコンピュータに実装することもできる。コンピューティングデバイス300は、ラックサーバシステム324の一部として実装することもできる。あるいは、コンピューティングデバイス300の構成要素を、モバイルコンピューティングデバイス350などのモバイルデバイス(図示せず)内の他の構成要素と結合することもできる。このようなデバイスはそれぞれ、コンピューティングデバイス300およびモバイルコンピューティングデバイス350を1つまたは複数含み、システム全体は、互いに通信する複数のコンピューティングデバイスで構成することができる。
【0068】
モバイルコンピューティングデバイス350は、特に、プロセッサ352、メモリ364、タッチ式ディスプレイ354などの入出力デバイス、通信インタフェース366、およびトランシーバ368を含む。モバイルコンピューティングデバイス350は、追加の記憶域を提供するために、マイクロドライブまたはその他のデバイスなどのストレージデバイスを備えることもある。プロセッサ352、メモリ364、ディスプレイ354、通信インタフェース366、およびトランシーバ368は、様々なバスを用いて相互接続されており、これらの構成要素の一部は、共通のマザーボードに取り付けることもできるし、あるいは適宜その他の方法で取り付けることもできる。
【0069】
プロセッサ352は、メモリ364に格納された命令など、モバイルコンピューティングデバイス350内で命令を実行することができる。プロセッサ352は、別個の複数のアナログプロセッサおよびデジタルプロセッサを含むチップのチップセットとして実装することができる。プロセッサ352は、例えば、ユーザインタフェース、モバイルコンピューティングデバイス350によって実行されるアプリケーション、およびモバイルコンピューティングデバイス350によるワイヤレス通信の制御など、モバイルコンピューティングデバイス350の他の構成要素の調整を行うことができる。
【0070】
プロセッサ352は、制御インタフェース358と、ディスプレイ354に結合されたディスプレイインタフェース356とを通して、ユーザと通信することができる。ディスプレイ354は、例えば、TFT(薄膜トランジスタ液晶ディスプレイ)ディスプレイ、またはOLED(有機発光ダイオード)ディスプレイ、あるいはその他の適当な表示技術とすることができる。ディスプレイインタフェース356は、ディスプレイ354を駆動してグラフィック情報およびその他の情報をユーザに対して提示するための適当な回路を含むことができる。制御インタフェース358は、ユーザからコマンドを受け取り、それらのコマンドをプロセッサ352に提示するために変換することができる。さらに、外部インタフェース362が、モバイルコンピューティングデバイス350がその他のデバイスと近領域通信することを可能にするように、プロセッサ352との通信を実現することもある。外部インタフェース362は、例えば、いくつかの実施態様では有線通信を実現することもあるし、他の実施態様ではワイヤレス通信を実現することもあり、複数のインタフェースを使用することもできる。
【0071】
メモリ364は、モバイルコンピューティングデバイス350内の情報を格納する。メモリ364は、1つまたは複数のコンピュータ可読媒体、1つまたは複数の揮発性メモリユニット、あるいは1つまたは複数の不揮発性メモリユニットのうちの1つまたは複数として実装することができる。拡張メモリ374を設けて、拡張インタフェース372を通してモバイルコンピューティングデバイス350に接続することもでき、拡張インタフェース372は、例えば、SIMM(Single In Line Memory Module)カードインタフェースを含む可能性がある。拡張メモリ374は、モバイルコンピューティングデバイス350に追加の記憶スペースを提供することもできるし、あるいは、モバイルコンピューティングデバイス350のためのアプリケーションまたはその他の情報を格納することもできる。具体的には、拡張メモリ374は、上述したプロセスを実行する、または補足する命令を含むことがあり、セキュア情報を含むこともある。したがって、例えば、拡張メモリ374は、モバイルコンピューティングデバイス350のためのセキュリティモジュールとして設けられることもあり、モバイルコンピューティングデバイス350の安全な使用を可能にする命令がプログラムされていることもある。さらに、識別情報をハッキングできない方法でSIMMカードに入れるなど、安全なアプリケーションをSIMMカードを介して追加の情報とともに提供することもできる。
【0072】
メモリは、以下で述べるように、例えばフラッシュメモリおよび/またはNVRAMメモリ(不揮発性ランダムアクセスメモリ)を含む可能性がある。いくつかの実施態様では、命令は、情報担体に格納される。命令は、1つまたは複数の処理デバイス(例えばプロセッサ352)によって実行されたときに、上述した方法など、1つまたは複数の方法を実行する。命令は、また、1つまたは複数のコンピュータ可読媒体または機械可読媒体など、1つまたは複数のストレージデバイス(例えばメモリ364、拡張メモリ374、またはプロセッサ352上のメモリ)によって格納することもできる。いくつかの実施態様では、命令は、例えばトランシーバ368または外部インタフェース362を介して、伝搬信号に含まれた状態で受信することもできる。
【0073】
モバイルコンピューティングデバイス350は、通信インタフェース366を通してワイヤレス通信することができ、通信インタフェース366は、必要な場合にはデジタル信号処理回路を含むことがある。通信インタフェース366は、特にGSM(登録商標)音声電話(Global System for Mobile communications)、SMS(ショートメッセージサービス)、EMS(Enhanced Messaging Service)、MMSメッセジング(Multimedia Messaging Service)、CDMA(符号分割多重アクセス)、TDMA(時分割多重アクセス)、PDC(Personal Digital Cellular)、WCDMA(登録商標)(広帯域符号分割多重アクセス)、CDMA2000、またはGPRS(汎用パケット無線サービス)など、様々なモードまたはプロトコルの通信を実現することができる。このような通信は、例えば、無線周波数を用いてトランシーバ368を通して行うことができる。さらに、Bluetooth(登録商標)、WiFi、またはその他のそのようなトランシーバ(図示せず)を用いるなどして、短距離通信を行うこともできる。さらに、GPS(全地球測位システム)受信モジュール370が、追加のナビゲーションおよび位置に関するワイヤレスデータをモバイルコンピューティングデバイス350に提供することもでき、このデータは、モバイルコンピューティングデバイス350上で動作するアプリケーションが適宜使用することができる。
【0074】
モバイルコンピューティングデバイス350は、また、ユーザからの口頭情報を受け取り、その情報を使用可能なデジタル情報に変換することができるオーディオコーデック360を使用して、音声通信することもできる。オーディオコーデック360は、例えばモバイルコンピューティングデバイス350のハンドセット内のスピーカなどを通して、ユーザに聞こえる可聴音を生成することもできる。このような音は、音声電話の音を含むことがあり、記録音(例えばボイスメッセージ、音楽ファイルなど)を含むこともあり、またモバイルコンピューティングデバイス350上で動作するアプリケーションによって生成された音を含むこともある。
【0075】
モバイルコンピューティングデバイス350は、図に示すように、いくつかの異なる形態で実装することができる。例えば、モバイルコンピューティングデバイス350は、携帯電話380として実装することもできる。モバイルコンピューティングデバイス350は、また、スマートフォン382、携帯情報端末、またはそれらに類するその他のモバイルデバイスの一部として実装することもできる。
【0076】
本明細書に記載するシステムおよび技術の様々な実施態様は、デジタル電子回路、集積回路、特殊設計のASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せで実現することができる。これらの様々な実施態様は、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受け取り、かつそれらにデータおよび命令を伝送するように結合された特殊目的用である場合も汎用である場合もある少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能かつ/または解釈可能な1つまたは複数のコンピュータプログラムにおける実施態様を含む可能性がある。
【0077】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとも呼ばれる)は、プログラマブルプロセッサ用の機械命令を含み、高水準手続き型プログラミング言語および/またはオブジェクト指向プログラミング言語で、かつ/あるいはアセンブリ/機械言語で、実装することができる。本明細書で使用する機械可読媒体およびコンピュータ可読媒体という用語は、機械可読信号として機械命令を受信する機械可読媒体を含む、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、装置、および/またはデバイス(例えば磁気ディスク、光ディしく、メモリ、プログラマブル論理デバイス(PLD))を指す。機械可読信号という用語は、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意の信号を指す。
【0078】
ユーザとの対話を実現するために、本明細書に記載するシステムおよび技術は、ユーザに対して情報を表示する表示デバイス(例えばCRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)と、ユーザがコンピュータに入力を与えることができるようにするためのキーボードおよびポインティングデバイス(例えばマウスまたはトラックボール)とを有するコンピュータ上に実装することができる。他の種類のデバイスを使用して、ユーザとの対話を実現することもできる。例えば、ユーザに与えられるフィードバックは、任意の形態の感覚フィードバック(例えば視覚フィードバック、聴覚フィードバック、または触覚フィードバック)とすることができ、ユーザからの入力は、音響入力、スピーチ入力、または触覚入力など、任意の形態で受け取ることができる。
【0079】
本明細書に記載するシステムおよび技術は、バックエンド構成要素(例えばデータサーバ)、ミドルウェア構成要素(例えばアプリケーションサーバ)、フロントエンド構成要素(例えばユーザが本明細書に記載するシステムおよび技術の実施態様と対話することを可能にするグラフィカルユーザインタフェースまたはウェブブラウザを有するクライアントコンピュータ)、あるいはそのようなバックエンド構成要素、ミドルウェア構成要素、またはフロントエンド構成要素の任意の組合せを含む、コンピューティングシステム内に実装することができる。このシステムの構成要素は、任意の形態または媒体のデジタル・データ通信(例えば通信ネットワーク)によって相互接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、およびインターネットがある。
【0080】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般には互いに遠隔にあり、通常は通信ネットワークを通して対話する。クライアントとサーバの関係は、コンピュータプログラムがそれぞれのコンピュータ上で動作し、互いにクライアント/サーバ関係を有することによって生じる。
【0081】
上記ではいくつかの実施態様について詳細に説明したが、他の修正形態も可能である。例えば、クライアントアプリケーションがデリゲート(delegate)にアクセスするものとして説明したが、他の実施態様では、1つまたは複数のサーバ上で実行されるアプリケーションなど、1つまたは複数のプロセッサによって実施される他のアプリケーションがデリゲートを利用することもできる。さらに、図面に示す論理の流れは、図示した特定の順序または順番でなくても、望ましい結果を得ることができる。さらに、他のアクションを行うことも、記載した流れからアクションを省略することも、記載したシステムに他の構成要素を追加することも、あるいは記載したシステムから構成要素を省略することもできる。したがって、他の実施態様が、後記の特許請求の範囲に含まれる。
【符号の説明】
【0082】
120 オーディオサブシステム
122 オーディオサブシステム
124 ホットワーダ
126 ホットワーダ
128 オーディオ透かし識別子
130 オーディオ透かし識別子
140 オーディオ透かし比較器
142 オーディオ透かし
144 オーディオ透かし比較器
146 オーディオ透かし
148 ユーザインタフェース生成器
150 ユーザインタフェース生成器
152 ユーザ設定
156 位置検出器
158 デバイス識別子
160 デバイス識別
162 ユーザ識別子
166 スピーチ認識器
168 スピーチ認識器状態
170 オーディオ透かしログ
172 スピーチ認識器
174 スピーチ認識器状態
176 位置検出器
178 デバイス識別子
180 デバイス識別
182 ユーザ識別子
186 ユーザ設定
188 オーディオ透かしログ
300 コンピューティングデバイス
302 プロセッサ
304 メモリ
306 ストレージデバイス
308 高速インタフェース
310 高速拡張ポート
312 低速インタフェース
314 低速拡張ポート
316 ディスプレイ
320 サーバ
322 ラップトップコンピュータ
324 ラックサーバシステ
350 モバイルコンピューティングデバイス
352 プロセッサ
354 タッチ式ディスプレイ
356 ディスプレイインタフェース
358 制御インタフェース
360 オーディオコーデック
362 外部インタフェース
364 メモリ
366 通信インタフェース
368 トランシーバ
370 GPS受信モジュール
372 拡張インタフェース
374 拡張メモリ
380 携帯電話
382 スマートフォン