(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-12-26
(54)【発明の名称】ユーザ発話プロファイル管理
(51)【国際特許分類】
G10L 17/00 20130101AFI20231219BHJP
G10L 15/04 20130101ALI20231219BHJP
【FI】
G10L17/00 200C
G10L15/04 300Z
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023533713
(86)(22)【出願日】2021-09-28
(85)【翻訳文提出日】2023-06-01
(86)【国際出願番号】 US2021071617
(87)【国際公開番号】W WO2022126040
(87)【国際公開日】2022-06-16
(32)【優先日】2020-12-08
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】595020643
【氏名又は名称】クゥアルコム・インコーポレイテッド
【氏名又は名称原語表記】QUALCOMM INCORPORATED
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】パク、ソ・ジン
(72)【発明者】
【氏名】ムン、ソンクク
(72)【発明者】
【氏名】キム、レ-フン
(72)【発明者】
【氏名】ビッサー、エリック
(57)【要約】
デバイスは、第1の電力モードで、オーディオストリームが少なくとも2人の話者の発話に対応するかどうかを決定するように構成されたプロセッサを含む。プロセッサは、オーディオストリームが少なくとも2人の話者の発話に対応すると決定したことに基づいて、第2の電力モードで、セグメンテーション結果を生成するためにオーディオストリームのオーディオ特徴量データを分析するように構成される。プロセッサは、オーディオ特徴量データセットがユーザ発話プロファイルのいずれかに一致するかどうかを決定するために、複数のユーザ発話プロファイルと、話者同質オーディオセグメントの複数のオーディオ特徴量データセットのうちのオーディオ特徴量データセットとの比較を実行するように構成される。プロセッサは、オーディオ特徴量データセットが複数のユーザ発話プロファイルのいずれにも一致しないと決定したことに基づき、複数のオーディオ特徴量データセットに基づいてユーザ発話プロファイルを生成するように構成される。
【特許請求の範囲】
【請求項1】
オーディオ分析のためのデバイスであって、
複数のユーザの複数のユーザ発話プロファイルを記憶するように構成されたメモリと、
1つまたは複数のプロセッサとを備え、前記1つまたは複数のプロセッサは、
第1の電力モードで、オーディオストリームが少なくとも2人の異なる話者の発話に対応するかどうかを決定することと、
前記オーディオストリームが少なくとも2人の異なる話者の発話に対応すると決定したことに基づいて、第2の電力モードで、前記オーディオストリームの話者同質オーディオセグメントを示すセグメンテーション結果を生成するために前記オーディオストリームのオーディオ特徴量データを分析することと、
第1の話者同質オーディオセグメントの第1の複数のオーディオ特徴量データセットのうちの第1のオーディオ特徴量データセットが前記複数のユーザ発話プロファイルのいずれかに一致するかどうかを決定するために、前記複数のユーザ発話プロファイルと、前記第1のオーディオ特徴量データセットとの比較を実行することと、
前記第1のオーディオ特徴量データセットが前記複数のユーザ発話プロファイルのいずれにも一致しないと決定したことに基づき、
前記第1の複数のオーディオ特徴量データセットに基づいて第1のユーザ発話プロファイルを生成することと、
前記第1のユーザ発話プロファイルを前記複数のユーザ発話プロファイルに追加することと
を行うように構成される、デバイス。
【請求項2】
前記第1のオーディオ特徴量データセットは、第1のオーディオ特徴量ベクトルを含む、請求項1に記載のデバイス。
【請求項3】
前記1つまたは複数のプロセッサは、話者セグメンテーションニューラルネットワークを前記オーディオ特徴量データに適用することによって、前記オーディオ特徴量データを分析するように構成される、請求項1に記載のデバイス。
【請求項4】
前記1つまたは複数のプロセッサは、前記第1のオーディオ特徴量データセットが第1の話者の発話に対応することと、前記第1のオーディオ特徴量データセットが前記複数のユーザ発話プロファイルのいずれにも一致しないこととを前記セグメンテーション結果が示すと決定したことに基づいて、
前記第1の話者に関連付けられた第1の登録バッファに前記第1のオーディオ特徴量データセットを記憶することと、
停止条件が満たされるまで、前記第1の話者の発話に対応する後続のオーディオ特徴量データセットを前記第1の登録バッファに記憶することとを行うように構成され、ここにおいて、前記第1の話者同質オーディオセグメントの前記第1の複数のオーディオ特徴量データセットは、前記第1のオーディオ特徴量データセットと前記後続のオーディオ特徴量データセットとを含む、請求項1に記載のデバイス。
【請求項5】
前記1つまたは複数のプロセッサは、しきい値よりも長い無音が前記オーディオストリーム中で検出されたと決定したことに応答して、前記停止条件が満たされたと決定するように構成される、請求項4に記載のデバイス。
【請求項6】
前記1つまたは複数のプロセッサは、特定のオーディオ特徴量データセットが単一の話者の発話に対応すると決定したことに少なくとも部分的に基づいて、前記特定のオーディオ特徴量データセットを前記第1の登録バッファに追加するように構成され、ここにおいて、前記単一の話者は前記第1の話者を含む、請求項4に記載のデバイス。
【請求項7】
前記1つまたは複数のプロセッサは、第1の登録バッファに記憶された前記第1の話者同質オーディオセグメントの前記第1の複数のオーディオ特徴量データセットのカウントが登録しきい値よりも大きいと決定したことに基づき、前記第1の複数のオーディオ特徴量データセットに基づいて前記第1のユーザ発話プロファイルを生成するように構成される、請求項1に記載のデバイス。
【請求項8】
前記1つまたは複数のプロセッサは、前記第1のオーディオ特徴量データセットが特定のユーザ発話プロファイルに一致すると決定したことに基づき、前記第1のオーディオ特徴量データセットに基づいて前記特定のユーザ発話プロファイルを更新するように構成される、請求項1に記載のデバイス。
【請求項9】
前記1つまたは複数のプロセッサは、前記第1のオーディオ特徴量データセットが単一の話者の発話に対応すると決定したことに少なくとも部分的に基づき、前記第1のオーディオ特徴量データセットに基づいて前記特定のユーザ発話プロファイルを更新するように構成される、請求項8に記載のデバイス。
【請求項10】
前記1つまたは複数のプロセッサは、第2の話者同質オーディオセグメントの第2の複数のオーディオ特徴量データセットのうちの第2のオーディオ特徴量データセットが前記複数のユーザ発話プロファイルのいずれかに一致するかどうかを決定するように構成される、請求項1に記載のデバイス。
【請求項11】
前記1つまたは複数のプロセッサは、前記第2のオーディオ特徴量データセットが前記複数のユーザ発話プロファイルのいずれにも一致しないと決定したことに基づき、
前記第2の複数のオーディオ特徴量データセットに基づいて第2のユーザ発話プロファイルを生成することと、
前記第2のユーザ発話プロファイルを前記複数のユーザ発話プロファイルに追加することと
を行うように構成される、請求項10に記載のデバイス。
【請求項12】
前記1つまたは複数のプロセッサは、前記第2のオーディオ特徴量データセットが前記複数のユーザ発話プロファイルのうちの特定のユーザ発話プロファイルに一致すると決定したことに基づき、前記第2のオーディオ特徴量データセットに基づいて前記特定のユーザ発話プロファイルを更新するように構成される、請求項10に記載のデバイス。
【請求項13】
前記メモリは、プロファイル更新データを記憶するように構成され、前記1つまたは複数のプロセッサは、
前記第1のユーザ発話プロファイルを生成したことに応答して、前記第1のユーザ発話プロファイルが更新されたことを示すために前記プロファイル更新データを更新することと、
前記複数のユーザ発話プロファイルの第1のカウントが更新されたことを前記プロファイル更新データが示すと決定したことに基づいて、前記オーディオストリーム中で検出された話者のカウントとして前記第1のカウントを出力することと
を行うように構成される、請求項1に記載のデバイス。
【請求項14】
前記メモリは、ユーザ対話データを記憶するように構成され、前記1つまたは複数のプロセッサは、
前記第1のユーザ発話プロファイルを生成したことに応答して、前記第1のユーザ発話プロファイルに関連付けられた第1のユーザが発話持続時間にわたって対話したことを示すために、前記第1の話者同質オーディオセグメントの前記発話持続時間に基づいて前記ユーザ対話データを更新することと、
少なくとも前記ユーザ対話データを出力することと
を行うように構成される、請求項1に記載のデバイス。
【請求項15】
前記第1の電力モードは、前記第2の電力モードと比較してより低い電力モードである、請求項1に記載のデバイス。
【請求項16】
前記1つまたは複数のプロセッサは、
前記第1の電力モードで、前記オーディオストリームのオーディオ情報を決定することと、前記オーディオ情報は、前記オーディオストリーム中で検出された話者のカウント、ボイスアクティビティ検出(VAD)情報、またはその両方を含む、
前記第2の電力モードで、1つまたは複数のオーディオ分析アプリケーションをアクティブ化することと、
前記オーディオ情報を1つまたは複数のオーディオ分析アプリケーションに提供することと
を行うように構成される、請求項1に記載のデバイス。
【請求項17】
前記1つまたは複数のプロセッサは、前記オーディオストリームの1つまたは複数の第2のオーディオセグメントが複数の話者に対応することを前記セグメンテーション結果が示すと決定したことに応答して、前記1つまたは複数の第2のオーディオセグメントに基づいて前記複数のユーザ発話プロファイルを更新することを控えるように構成される、請求項1に記載のデバイス。
【請求項18】
オーディオ分析の方法であって、
デバイスにおいて、第1の電力モードで、オーディオストリームが少なくとも2人の異なる話者の発話に対応するかどうかを決定することと、
前記オーディオストリームが少なくとも2人の異なる話者の発話に対応すると決定したことに基づいて、第2の電力モードで、前記オーディオストリームの話者同質オーディオセグメントを示すセグメンテーション結果を生成するために前記オーディオストリームのオーディオ特徴量データを分析することと、
前記デバイスにおいて、第1の話者同質オーディオセグメントの第1の複数のオーディオ特徴量データセットのうちの第1のオーディオ特徴量データセットが複数のユーザ発話プロファイルのいずれかに一致するかどうかを決定するために、前記複数のユーザ発話プロファイルと、前記第1のオーディオ特徴量データセットとの比較を実行することと、
前記第1のオーディオ特徴量データセットが前記複数のユーザ発話プロファイルのいずれにも一致しないと決定したことに基づき、
前記デバイスにおいて、前記第1の複数のオーディオ特徴量データセットに基づいて第1のユーザ発話プロファイルを生成することと、
前記デバイスにおいて、前記第1のユーザ発話プロファイルを前記複数のユーザ発話プロファイルに追加することと
を備える、方法。
【請求項19】
話者セグメンテーションニューラルネットワークを前記オーディオ特徴量データに適用することをさらに備える、請求項18に記載の方法。
【請求項20】
前記第1のオーディオ特徴量データセットが第1の話者の発話に対応することと、前記第1のオーディオ特徴量データセットが前記複数のユーザ発話プロファイルのいずれにも一致しないこととを前記セグメンテーション結果が示すと決定したことに基づいて、
前記第1の話者に関連付けられた第1の登録バッファに前記第1のオーディオ特徴量データセットを記憶することと、
停止条件が満たされるまで、前記第1の話者の発話に対応する後続のオーディオ特徴量データセットを前記第1の登録バッファに記憶することと、ここにおいて、前記第1の話者同質オーディオセグメントの前記第1の複数のオーディオ特徴量データセットは、前記第1のオーディオ特徴量データセットと前記後続のオーディオ特徴量データセットとを含む、
をさらに備える、請求項18に記載の方法。
【請求項21】
前記デバイスにおいて、しきい値よりも長い無音が前記オーディオストリーム中で検出されたと決定したことに応答して、前記停止条件が満たされたと決定することをさらに備える、請求項20に記載の方法。
【請求項22】
前記デバイスにおいて、特定のオーディオ特徴量データセットが単一の話者の発話に対応すると決定したことに少なくとも部分的に基づいて、前記特定のオーディオ特徴量データセットを前記第1の登録バッファに追加することをさらに備え、ここにおいて、前記単一の話者は前記第1の話者を含む、請求項20に記載の方法。
【請求項23】
第1の登録バッファに記憶された前記第1の話者同質オーディオセグメントの前記第1の複数のオーディオ特徴量データセットのカウントが登録しきい値よりも大きいと決定したことに基づき、前記第1の複数のオーディオ特徴量データセットに基づいて前記第1のユーザ発話プロファイルを生成することをさらに備える、請求項18に記載の方法。
【請求項24】
前記第1のオーディオ特徴量データセットが特定のユーザ発話プロファイルに一致すると決定したことに基づき、前記第1のオーディオ特徴量データセットに基づいて前記特定のユーザ発話プロファイルを更新することをさらに備える、請求項18に記載の方法。
【請求項25】
前記第1のオーディオ特徴量データセットが単一の話者の発話に対応すると決定したことに少なくとも部分的に基づき、前記第1のオーディオ特徴量データセットに基づいて前記特定のユーザ発話プロファイルを更新することをさらに備える、請求項24に記載の方法。
【請求項26】
第2の話者同質オーディオセグメントの第2の複数のオーディオ特徴量データセットのうちの第2のオーディオ特徴量データセットが前記複数のユーザ発話プロファイルのうちの特定のユーザ発話プロファイルに一致すると決定したことに基づき、前記第2のオーディオ特徴量データセットに基づいて前記特定のユーザ発話プロファイルを更新することをさらに備える、請求項18に記載の方法。
【請求項27】
命令を記憶する非一時的コンピュータ可読記憶媒体であって、前記命令は、1つまたは複数のプロセッサによって実行されたとき、前記プロセッサに、
第1の電力モードで、オーディオストリームが少なくとも2人の異なる話者の発話に対応するかどうかを決定することと、
前記オーディオストリームが少なくとも2人の異なる話者の発話に対応すると決定したことに基づいて、第2の電力モードで、前記オーディオストリームの話者同質オーディオセグメントを示すセグメンテーション結果を生成するために前記オーディオストリームのオーディオ特徴量データを分析することと、
第1の話者同質オーディオセグメントの第1の複数のオーディオ特徴量データセットのうちの第1のオーディオ特徴量データセットが複数のユーザ発話プロファイルのいずれかに一致するかどうかを決定するために、前記複数のユーザ発話プロファイルと、前記第1のオーディオ特徴量データセットとの比較を実行することと、
前記第1のオーディオ特徴量データセットが前記複数のユーザ発話プロファイルのいずれにも一致しないと決定したことに基づき、
前記第1の複数のオーディオ特徴量データセットに基づいて第1のユーザ発話プロファイルを生成することと、
前記第1のユーザ発話プロファイルを前記複数のユーザ発話プロファイルに追加することと
を行わせる、非一時的コンピュータ可読記憶媒体。
【請求項28】
前記命令は、前記1つまたは複数のプロセッサによって実行されたとき、前記プロセッサに、第1の登録バッファに記憶された前記第1の話者同質オーディオセグメントの前記第1の複数のオーディオ特徴量データセットのカウントが登録しきい値よりも大きいと決定したことに基づき、前記第1の複数のオーディオ特徴量データセットに基づいて前記第1のユーザ発話プロファイルを生成することを行わせる、請求項27に記載の非一時的コンピュータ可読記憶媒体。
【請求項29】
装置であって、
複数のユーザの複数のユーザ発話プロファイルを記憶するための手段と、
第1の電力モードで、オーディオストリームが少なくとも2人の異なる話者の発話に対応するかどうかを決定するための手段と、
第2の電力モードで、セグメンテーション結果を生成するために前記オーディオストリームのオーディオ特徴量データを分析するための手段と、前記オーディオ特徴量データは、前記オーディオストリームが少なくとも2人の異なる話者の発話に対応すると決定したことに基づいて前記第2の電力モードで分析され、ここにおいて、前記セグメンテーション結果は、前記オーディオストリームの話者同質オーディオセグメントを示す、
第1の話者同質オーディオセグメントの第1の複数のオーディオ特徴量データセットのうちの第1のオーディオ特徴量データセットが前記複数のユーザ発話プロファイルのいずれかに一致するかどうかを決定するために、前記複数のユーザ発話プロファイルと、前記第1のオーディオ特徴量データセットとの比較を実行するための手段と、
前記第1の複数のオーディオ特徴量データセットに基づいて、第1のユーザ発話プロファイルを生成するための手段と、前記第1のユーザ発話プロファイルは、前記第1のオーディオ特徴量データセットが前記複数のユーザ発話プロファイルのいずれにも一致しないと決定したことに基づいて生成される、
前記第1のユーザ発話プロファイルを前記複数のユーザ発話プロファイルに追加するための手段と
を備える、装置。
【請求項30】
記憶するための前記手段、決定するための前記手段、分析するための前記手段、実行するための前記手段、生成するための前記手段、および追加するための前記手段は、モバイル通信デバイス、スマートフォン、セルラーフォン、スマートスピーカー、スピーカーバー、ラップトップコンピュータ、コンピュータ、タブレット、携帯情報端末、ディスプレイデバイス、テレビ、ゲームコンソール、音楽プレーヤ、ラジオ、デジタルビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、チューナー、カメラ、ナビゲーションデバイス、ビークル、ヘッドセット、拡張現実ヘッドセット、仮想現実ヘッドセット、航空機、ホームオートメーションシステム、音声起動デバイス、ワイヤレススピーカーおよび音声起動デバイス、ポータブル電子デバイス、自動車、コンピューティングデバイス、通信デバイス、モノのインターネット(IoT)デバイス、仮想現実(VR)デバイス、基地局、モバイルデバイス、またはそれらの任意の組合せのうちの少なくとも1つに統合される、請求項29に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
[0001] 本出願は、内容全体が参照により本明細書に明確に組み込まれる、2020年12月8日に出願された、同一出願人が所有する米国非仮特許出願第17/115,158号の優先権の利益を主張する。
【0002】
[0002] 本開示は、概して、ユーザ発話プロファイル(user speech profile)の管理に関する。
【背景技術】
【0003】
[0003] 技術の進歩は、より小型でより強力なコンピューティングデバイスをもたらした。たとえば、現在、小型で、軽量で、ユーザ(user)によって容易に持ち運ばれる、モバイルフォンおよびスマートフォンなどのワイヤレス電話、タブレットならびにラップトップコンピュータを含む、様々なポータブルパーソナルコンピューティングデバイスが存在する。これらのデバイス(device)は、ワイヤレスネットワークを介して音声とデータパケットとを通信することができる。さらに、多くのそのようなデバイスは、デジタルスチルカメラ、デジタルビデオカメラ、デジタルレコーダ、およびオーディオファイルプレーヤなどの追加の機能を組み込む。また、そのようなデバイスは、インターネットにアクセスするために使用され得るウェブブラウザアプリケーションなどのソフトウェアアプリケーションを含む、実行可能命令を処理することができる。したがって、これらのデバイスはかなりの計算能力を含むことができる。
【0004】
[0004] そのようなコンピューティングデバイスは、しばしば、1つまたは複数のマイクロフォンからオーディオ信号を受信するための機能を組み込む。たとえば、オーディオ信号は、マイクロフォンによってキャプチャされたユーザ発話、マイクロフォンによってキャプチャされた外部音、またはそれらの組合せを表し得る。そのようなデバイスは、たとえば、ユーザ認識のために、ユーザ発話プロファイルに依拠するアプリケーションを含み得る。ユーザ発話プロファイルは、ユーザに所定の単語または文のスクリプトを話させることによって訓練され得る。ユーザ発話プロファイルを生成するためのそのような能動的なユーザ登録は、時間がかかり、不便であり得る。
【発明の概要】
【0005】
[0005] 本開示の一実装形態によれば、オーディオ分析(audio analysis)のためのデバイスは、メモリ(memory)と1つまたは複数のプロセッサ(processor)とを含む。メモリは、複数のユーザの複数のユーザ発話プロファイルを記憶するように構成される。1つまたは複数のプロセッサは、第1の電力モード(first power mode)で、オーディオストリーム(audio stream)が少なくとも2人の異なる話者(at least two distinct talkers)の発話(speech)に対応するかどうかを決定するように構成される。1つまたは複数のプロセッサはまた、オーディオストリームが少なくとも2人の異なる話者の発話に対応すると決定したことに基づいて、第2の電力モード(second power mode)で、セグメンテーション結果(segmentation result)を生成するためにオーディオストリームのオーディオ特徴量データ(audio feature data)を分析する(analyze)ように構成される。セグメンテーション結果は、オーディオストリームの話者同質オーディオセグメント(talker-homogenous audio segment)を示す。1つまたは複数のプロセッサは、第1の話者同質オーディオセグメント(first talker-homogenous audio segment)の第1の複数のオーディオ特徴量データセット(a first plurality of audio feature data sets)のうちの第1のオーディオ特徴量データセット(first audio feature data set)が複数のユーザ発話プロファイルのいずれかに一致するかどうかを決定するために、複数のユーザ発話プロファイルと、第1のオーディオ特徴量データセットとの比較(comparison)を実行するようにさらに構成される。1つまたは複数のプロセッサはまた、第1のオーディオ特徴量データセットが複数のユーザ発話プロファイルのいずれにも一致しないと決定したことに基づき、第1の複数のオーディオ特徴量データセットに基づいて第1のユーザ発話プロファイル(first user speech profile)を生成することと、第1のユーザ発話プロファイルを複数のユーザ発話プロファイルに追加することとを行うように構成される。
【0006】
[0006] 本開示の別の実装形態によれば、オーディオ分析の方法は、デバイスにおいて、第1の電力モードで、オーディオストリームが少なくとも2人の異なる話者の発話に対応するかどうかを決定することを含む。本方法はまた、オーディオストリームが少なくとも2人の異なる話者の発話に対応すると決定したことに基づいて、第2の電力モードで、セグメンテーション結果を生成するためにオーディオストリームのオーディオ特徴量データを分析することを含む。セグメンテーション結果は、オーディオストリームの話者同質オーディオセグメントを示す。本方法は、デバイスにおいて、第1の話者同質オーディオセグメントの第1の複数のオーディオ特徴量データセットのうちの第1のオーディオ特徴量データセットが複数のユーザ発話プロファイルのいずれかに一致するかどうかを決定するために、複数のユーザ発話プロファイルと、第1のオーディオ特徴量データセットとの比較を実行することをさらに含む。本方法はまた、第1のオーディオ特徴量データセットが複数のユーザ発話プロファイルのいずれにも一致しないと決定したことに基づき、デバイスにおいて、第1の複数のオーディオ特徴量データセットに基づいて第1のユーザ発話プロファイルを生成することと、デバイスにおいて、第1のユーザ発話プロファイルを複数のユーザ発話プロファイルに追加することとを含む。
【0007】
[0007] 本開示の別の実装形態によれば、非一時的コンピュータ可読媒体(non-transitory computer-readable medium)は、1つまたは複数のプロセッサによって実行されたとき、1つまたは複数のプロセッサに、第1の電力モードで、オーディオストリームが少なくとも2人の異なる話者の発話に対応するかどうかを決定することを行わせる命令(instruction)を含む。命令はまた、1つまたは複数のプロセッサによって実行されたとき、プロセッサに、オーディオストリームが少なくとも2人の異なる話者の発話に対応すると決定したことに基づいて、第2の電力モードで、セグメンテーション結果を生成するためにオーディオストリームのオーディオ特徴量データを分析することを行わせる。セグメンテーション結果は、オーディオストリームの話者同質オーディオセグメントを示す。命令は、1つまたは複数のプロセッサによって実行されたとき、第1の話者同質オーディオセグメントの第1の複数のオーディオ特徴量データセットのうちの第1のオーディオ特徴量データセットが複数のユーザ発話プロファイルのいずれかに一致するかどうかを決定するために、複数のユーザ発話プロファイルと、第1のオーディオ特徴量データセットとの比較を実行することを1つまたは複数のプロセッサにさらに行わせる。命令はまた、1つまたは複数のプロセッサによって実行されたとき、1つまたは複数のプロセッサに、第1のオーディオ特徴量データセットが複数のユーザ発話プロファイルのいずれにも一致しないと決定したことに基づき、第1の複数のオーディオ特徴量データセットに基づいて第1のユーザ発話プロファイルを生成することと、第1のユーザ発話プロファイルを複数のユーザ発話プロファイルに追加することとを行わせる。
【0008】
[0008] 本開示の別の実装形態によれば、装置は、複数のユーザの複数のユーザ発話プロファイルを記憶するための手段を含む。本装置はまた、第1の電力モードで、オーディオストリームが少なくとも2人の異なる話者の発話に対応するかどうかを決定するための手段を含む。本装置は、セグメンテーション結果を生成するために、第2の電力モードで、オーディオストリームのオーディオ特徴量データを分析するための手段をさらに含む。オーディオ特徴量データは、オーディオストリームが少なくとも2人の異なる話者の発話に対応すると決定したことに基づいて、第2の電力モードで分析される。セグメンテーション結果は、オーディオストリームの話者同質オーディオセグメントを示す。本装置は、第1の話者同質オーディオセグメントの第1の複数のオーディオ特徴量データセットのうちの第1のオーディオ特徴量データセットが複数のユーザ発話プロファイルのいずれかに一致するかどうかを決定するために、複数のユーザ発話プロファイルと、第1のオーディオ特徴量データセットとの比較を実行するための手段をさらに含む。本装置はまた、第1の複数のオーディオ特徴量データセットに基づいて、第1のユーザ発話プロファイルを生成するための手段を含む。第1のユーザ発話プロファイルは、第1のオーディオ特徴量データセットが複数のユーザ発話プロファイルのいずれにも一致しないと決定したことに基づいて生成される。本装置は、第1のユーザ発話プロファイルを複数のユーザ発話プロファイルに追加するための手段をさらに含む。
【0009】
[0009] 本開示の他の態様、利点、および特徴は、以下のセクション、すなわち、図面の簡単な説明と、発明を実施するための形態と、特許請求の範囲とを含む、本出願全体を検討した後に明らかになろう。
【図面の簡単な説明】
【0010】
【
図1】[0010] 本開示のいくつかの例による、ユーザ発話プロファイル管理(user speech profile management)の特定の例示的な例のブロック図。
【
図2A】[0011] 本開示のいくつかの例による、ユーザ発話プロファイル管理を実行するように動作可能なシステムの特定の例示的な態様の図。
【
図2B】[0012] 本開示のいくつかの例による、
図2Aのシステムの例示的な構成要素の図。
【
図3】[0013] 本開示のいくつかの例による、ユーザ発話プロファイル管理に関連する動作の例示的な態様の図。
【
図4】[0014] 本開示のいくつかの例による、ユーザ発話プロファイル管理に関連する動作の例示的な態様の図。
【
図5】[0015] 本開示のいくつかの例による、ユーザ発話プロファイル管理に関連する動作の例示的な態様の図。
【
図6】[0016] 本開示のいくつかの例による、ユーザ発話プロファイル管理に関連する動作の例示的な態様の図。
【
図7】[0017] 本開示のいくつかの例による、ユーザ発話プロファイル管理に関連する動作の例示的な態様の図。
【
図8】[0018] 本開示のいくつかの例による、ユーザ発話プロファイル管理に関連する動作の例示的な態様の図。
【
図9】[0019] 本開示のいくつかの例による、ユーザ発話プロファイル管理に関連する動作の例示的な態様の図。
【
図10】[0020] 本開示のいくつかの例による、
図2Aのシステムによって実行され得るユーザ発話プロファイル管理の方法の特定の実装形態の図。
【
図11】[0021] 本開示のいくつかの例による、ユーザ発話プロファイル管理を実行するように動作可能な集積回路の一例を示す図。
【
図12】[0022] 本開示のいくつかの例による、ユーザ発話プロファイル管理を実行するように動作可能なモバイルデバイスの図。
【
図13】[0023] 本開示のいくつかの例による、ユーザ発話プロファイル管理を実行するように動作可能なヘッドセットの図。
【
図14】[0024] 本開示のいくつかの例による、ユーザ発話プロファイル管理を実行するように動作可能なウェアラブル電子デバイスの図。
【
図15】[0025] 本開示のいくつかの例による、ユーザ発話プロファイル管理を実行するように動作可能な音声制御スピーカーシステムの図。
【
図16】[0026] 本開示のいくつかの例による、ユーザ発話プロファイル管理を実行するように動作可能な仮想現実ヘッドセットまたは拡張現実ヘッドセットの図。
【
図17】[0027] 本開示のいくつかの例による、ユーザ発話プロファイル管理を実行するように動作可能なビークル(vehicle)の第1の例の図。
【
図18】[0028] 本開示のいくつかの例による、ユーザ発話プロファイル管理を実行するように動作可能なビークルの第2の例の図。
【
図19】[0029] 本開示のいくつかの例による、ユーザ発話プロファイル管理を実行するように動作可能であるデバイスの特定の例示的な例のブロック図。
【発明を実施するための形態】
【0011】
[0030] ユーザが所定の単語または文のセットを話す能動的なユーザ登録を使用してユーザ発話プロファイルをトレーニングすることは、時間がかかり、不便であり得る。たとえば、ユーザは、前もって計画し、ユーザ発話プロファイルをトレーニングするのに時間をかけなければならない。本明細書で開示されるユーザ発話プロファイル管理のシステムおよび方法は、能動的なユーザ登録を使用することなく、複数の話者(talker)を区別することを可能にする。たとえば、1人または複数のユーザの発話に対応するオーディオストリームがセグメンタ(segmentor)によって受信される。セグメンタは、オーディオストリームの話者同質オーディオセグメントを示すセグメンテーション結果を生成する。本明細書で使用される「話者同質オーディオセグメント(talker-homogenous audio segment)」は、同じ話者の発話を表すオーディオ部分(たとえば、オーディオフレーム)を含む。たとえば、セグメンテーション結果は、同じ話者の発話を表すオーディオフレームのセットを識別する。プロファイルマネージャ(profile manager)は、オーディオ特徴量(audio feature)が複数の記憶されたユーザ発話プロファイルのいずれかに一致するかどうかを決定するために、オーディオフレームのセットのうちのオーディオフレームのオーディオ特徴量を比較する。プロファイルマネージャは、オーディオ特徴量が、記憶されたユーザ発話プロファイルのいずれにも一致しないと決定したことに応答して、オーディオ特徴量に少なくとも部分的に基づいてユーザ発話プロファイルを生成する。代替的に、プロファイルマネージャは、オーディオ特徴量が、記憶されたユーザ発話プロファイルに一致すると決定したことに応答して、オーディオ特徴量に少なくとも部分的に基づいて、記憶されたユーザ発話プロファイルを更新する。したがって、ユーザ発話プロファイルは、たとえば、通話または会議中に、受動的な登録を使用して生成または更新され得る。プロファイルマネージャはまた、複数の話者間の会話中に複数のユーザ発話プロファイルを生成または更新することができる。特定の例では、プロファイルマネージャは、生成または更新された発話プロファイルのプロファイル識別子を1つまたは複数の追加のオーディオアプリケーションに提供する。たとえば、オーディオアプリケーションは、対応するテキストの話者を示すラベルを有するトランスクリプトを生成するために、オーディオストリームの発話-テキスト変換を実行することができる。
【0012】
[0031] 本開示の特定の態様が、図面を参照しながら以下で説明される。説明では、共通の特徴は、図面全体にわたって共通の参照番号によって指定される。いくつかの図面では、特定のタイプの特徴の複数の事例が使用される。これらの特徴は、物理的および/または論理的に異なるが、同じ参照番号が各々に使用され、異なる事例は、参照番号への文字の追加によって区別される。グループまたはタイプとしての特徴が本明細書で参照されるとき(たとえば、特徴のうちの特定の1つが参照されていないとき)、参照番号は、区別する文字なしで使用される。しかしながら、同じタイプの複数の特徴のうちの1つの特定の特徴が本明細書で参照されるとき、参照番号は、区別する文字とともに使用される。たとえば、
図1を参照すると、複数のフレームが、図示され、参照番号102A、102B、および102Cに関連付けられている。フレーム102Aなどの、これらのフレームのうちの特定の1つを参照するとき、区別する文字「A」が使用される。しかしながら、これらのフレームの任意の1つまたはグループとしてこれらのフレームを参照するとき、参照番号102は、区別する文字なしで使用される。
【0013】
[0032] 本明細書で使用される様々な用語は、特定の実装形態について説明するために使用されるにすぎず、実装形態を限定するように意図されない。たとえば、単数形「a」、「an」、および「the」は、文脈が別段に明確に示さない限り、複数形を同様に含むものとする。さらに、本明細書で説明されるいくつかの特徴は、いくつかの実装形態では単数であり、他の実装形態では複数である。例示のために、
図2Aは、1つまたは複数のプロセッサ(
図2Aの「プロセッサ」220)を含むデバイス202を示し、これは、いくつかの実装形態では、デバイス202が単一のプロセッサ220を含み、他の実装形態では、デバイス202が複数のプロセッサ220を含むことを示す。本明細書での参照を容易にするために、そのような特徴は、概して、「1つまたは複数の」特徴として導入され、その後、複数の特徴に関係する態様が説明されていない限り、単数形で参照される。
【0014】
[0033] 本明細書で使用される「備える(comprise)」、「備える(comprises)」、および「備える(comprising)」という用語は、「含む(include)」、「含む(includes)」、または「含む(including)」と互換的に使用され得る。追加として、「ここにおいて(wherein)」という用語は、「ここで(where)」と互換的に使用され得る。本明細書で使用される「例示的」は、例、実装形態、および/または態様を示し、限定的として、または選好もしくは好適な実装形態を示すものとして解釈されるべきでない。本明細書で使用される、構造、構成要素、動作などの要素を修飾するために使用される序数語(たとえば、「第1の」、「第2の」、「第3の」など)は、別の要素に対するその要素の優先順位または順序をそれ自体によって示さず、(序数語の使用を別にすれば)むしろ同じ名前を有する別の要素からその要素を区別するにすぎない。本明細書で使用される「セット」という用語は、特定の要素のうちの1つまたは複数を指し、「複数」という用語は、特定の要素のうちの複数(たとえば、2つ以上)を指す。
【0015】
[0034] 本明細書で使用される「結合される(coupled)」は、「通信可能に結合される」、「電気的に結合される」、または「物理的に結合される」を含み得、また(あるいは代替的に)、それらの任意の組合せを含み得る。2つのデバイス(または構成要素)は、1つまたは複数の他のデバイス、構成要素、ワイヤ、バス、ネットワーク(たとえば、ワイヤードネットワーク、ワイヤレスネットワーク、またはそれらの組合せ)などを介して直接または間接的に結合(たとえば、通信可能に結合、電気的に結合、または物理的に結合)され得る。電気的に結合される2つのデバイス(または構成要素)は、同じデバイスまたは異なるデバイスに含まれることがあり、例示的な非限定的な例として、電子機器、1つもしくは複数のコネクタ、または誘導結合を介して接続されることがある。いくつかの実装形態では、電気通信などで通信可能に結合される2つのデバイス(または構成要素)は、1つまたは複数のワイヤ、バス、ネットワークなどを介して、直接または間接的に信号(たとえば、デジタル信号またはアナログ信号)を送信および受信し得る。本明細書で使用される「直接結合される」は、介在する構成要素なしに結合される(たとえば、通信可能に結合される、電気的に結合される、または物理的に結合される)2つのデバイスを含み得る。
【0016】
[0035] 本開示では、「決定すること(determining)」、「計算すること(calculating)」、「推定すること(estimating)」、「シフトすること(shifting)」、「調整すること(adjusting)」などの用語は、1つまたは複数の動作がどのように実施されるかを表すために使用され得る。そのような用語が限定的なものと解釈されるべきではなく、他の技法が、同様の動作を実施するために利用され得ることに留意されたい。追加として、本明細書で言及されるように、「生成すること(generating)」、「計算すること」、「推定すること」、「使用すること(using)」、「選択すること(selecting)」、「アクセスすること(accessing)」、および「決定すること」は、互換的に使用され得る。たとえば、パラメータ(または、信号)を「生成すること」、「計算すること」、「推定すること」、または「決定すること」は、パラメータ(または、信号)を能動的に生成すること、推定すること、計算すること、または決定することを指すことがあるか、あるいは、別の構成要素またはデバイスによってなど、すでに生成されているパラメータ(または、信号)を使用すること、選択すること、またはそれにアクセスすることを指すことがある。
【0017】
[0036]
図1は、ユーザ発話プロファイル管理の例100を示す。例100において、セグメンタ124およびプロファイルマネージャ126は、話者の能動的なユーザ登録を使用することなく、複数の話者の発話を区別するためにオーディオストリーム141を処理するように協働する。
【0018】
[0037] オーディオストリーム141は、
図1においてフレーム102A、102B、102Cとして表される複数の別個の部分を含む。この例では、各フレーム102は、オーディオストリーム141のオーディオの一部分を表すか、または符号化する。例示のために、各フレーム102は、オーディオストリームのオーディオの1/2秒を表し得る。他の例では、異なるサイズまたは持続時間のフレームが使用され得る。
【0019】
[0038] オーディオストリーム141は、セグメンタ124への入力として提供される。セグメンタ124は、オーディオストリーム141をセグメント(segment)に分割することと、各セグメントを、単一の話者(single talker)の発話、複数の話者の発話、または無音(silence)を含むものとして識別することを行うように構成される。たとえば、
図1において、セグメンタ124は、話者同質オーディオセグメント111Aを共に形成するオーディオ部分(audio portion)151Aの第1のセットを識別している。同様に、セグメンタ124は、第2の話者同質オーディオセグメント111Bを共に形成するオーディオ部分151Cの第2のセットを識別している。セグメンタ124はまた、無音または混合話者オーディオセグメント(mixed talker audio segment)113を共に形成するオーディオ部分151Bのセットを識別している。無音または混合話者オーディオセグメント113は、複数の話者の発話を含む音、または発話を含まない音(たとえば、無音または非発話ノイズ)を表す。
【0020】
[0039] 特定の例では、以下でより詳細に説明されるように、セグメンタ124は、話者セグメンテーション(speaker segmentation)を実行するようにトレーニングされる1つまたは複数の機械学習セグメンテーションモデル(たとえば、ニューラルネットワーク)を使用することによって、オーディオストリーム141をセグメントに分割する。この例では、話者の事前登録は必要とされない。むしろ、セグメンタ124は、オーディオストリーム141の異なるオーディオフレーム間の話者特性を比較することによって、2人以上の以前に知られていない話者を区別するようにトレーニングされる。セグメンタ124が区別することができる話者の特定の数は、機械学習セグメンテーションモデルの構成およびトレーニングに依存する。例示すると、特定の態様では、セグメンタ124は、3人の話者を区別するように構成されることがあり、この場合、機械学習セグメンテーションモデルは、話者1出力ノードと、話者2出力ノードと、話者3出力ノードと、無音出力ノードと、混合出力ノードとに対応する5つの出力レイヤノードを含み得る。この態様では、各出力ノードは、分析されているオーディオ部分151のセットがそれぞれの出力ノードに関連付けられる尤度(likelihood)を示すセグメンテーションスコア(segmentation score)を出力として生成するようにトレーニングされる。例示すると、話者1出力ノードは、オーディオ部分151のセットが第1の話者(first talker)の発話を表すことを示すセグメンテーションスコアを生成し、話者2出力ノードは、オーディオ部分151のセットが第2の話者の発話を表すことを示すセグメンテーションスコアを生成し、以下同様である。
【0021】
[0040] 特定の実装形態では、セグメンタ124が3人の話者を区別するように構成されるとき、機械学習セグメンテーションモデルは4つの出力レイヤノードを含み得る。たとえば、4つの出力レイヤノードは、話者1出力ノードと、話者2出力ノードと、話者3出力ノードと、無音出力ノードとを含み、混合出力ノードを含まない。この実装形態では、混合発話は、オーディオ部分151のセットが対応する話者の発話を表すことを示す複数の話者出力ノードのセグメンテーションスコアによって示される。
【0022】
[0041] 特定の実装形態では、セグメンタ124が3人の話者を区別するように構成されるとき、機械学習セグメンテーションモデルは3つの出力レイヤノードを含み得る。たとえば、3つの出力レイヤノードは、話者1出力ノードと、話者2出力ノードと、話者3出力ノードとを含み、無音出力ノードを含まない。この実装形態では、無音は、オーディオ部分151のセットが対応する話者の発話を表さないことを示す話者出力ノードの各々のセグメンテーションスコアによって示される。例示すると、無音は、オーディオ部分151のセットが第1の話者の発話を表さないことを示すセグメンテーションスコアを話者1出力ノードが生成し、オーディオ部分151のセットが第2の話者の発話を表さないことを示すセグメンテーションスコアを話者2出力ノードが生成し、オーディオ部分151のセットが第3の話者の発話を表さないことを示すセグメンテーションスコアを話者3出力ノードが生成するときに示される。いくつかの態様では、本明細書で使用される「無音」は、「非発話ノイズ」などの、「発話の不在」を指す可能性がある。
【0023】
[0042] 話者同質オーディオセグメント111のオーディオ部分151の各々は、オーディオストリーム141の複数のフレーム102を含む。例示すると、オーディオ部分151Aの各々は、5秒の音を表す10個のオーディオフレーム102を含み得る。他の例では、異なる数のフレームが、各オーディオ部分に含まれるか、または、フレームが、各オーディオ部分151Aが10秒を超えるまたは10秒未満の音を表す異なるサイズのものである。追加として、各話者同質音声セグメント111は、複数のオーディオ部分151を含む。話者同質オーディオセグメント111当りのオーディオ部分151の数は可変である。たとえば、話者同質オーディオセグメント111は、無音の期間(たとえば、しきい値持続時間の無音)、または別の話者の発話などによって、話者の発話が割り込まれるまで継続し得る。
【0024】
[0043] セグメンタ124は、話者同質オーディオセグメント111を識別するセグメンテーション結果を、プロファイルマネージャ126に提供する。プロファイルマネージャは、メモリ中にユーザ発話プロファイル(USP:user speech profile)150を維持する。各ユーザ発話プロファイル150は、プロファイル識別子(ID)155に関連付けられる。特定の態様では、プロファイルID155およびユーザ発話プロファイル150は、プロファイルマネージャ126によって生成される(たとえば、プロファイルID155およびユーザ発話プロファイル150は、ユーザの事前登録に基づかない)。
【0025】
[0044] セグメンテーション結果に応答して、プロファイルマネージャ126は、話者同質オーディオセグメント111のオーディオ部分151をユーザ発話プロファイル150と比較する。オーディオ部分151がユーザ発話プロファイル150のうちの1つに一致する(たとえば、それに十分に類似している)場合、プロファイルマネージャ126は、オーディオ部分151に基づいてユーザ発話プロファイル150を更新する。たとえば、話者同質オーディオセグメント111Aのオーディオ部分151Aがユーザ発話プロファイル150Aに十分に類似している場合、プロファイルマネージャ126は、ユーザ発話プロファイル150Aを更新するためにオーディオ部分151Aを使用する。
【0026】
[0045] オーディオ部分151がユーザ発話プロファイル150のいずれにも一致しない場合、プロファイルマネージャ126は、オーディオ部分151に基づいてユーザ発話プロファイル150を追加する。たとえば、
図1では、プロファイルマネージャ126は、話者同質オーディオセグメント111Cのオーディオ部分151Cに基づいてユーザ発話プロファイル150Cを生成し、ユーザ発話プロファイル150CにプロファイルID155Cを割り当てる。
【0027】
[0046] プロファイルマネージャ126はまた、オーディオストリーム141中の話者または話者変更を示す出力を生成する。たとえば、出力は、話者同質オーディオセグメント111に一致するユーザ発話プロファイル150のプロファイルID155を含み得る。話者または話者変更に基づいて結果を生成する、1つまたは複数のオーディオ分析アプリケーション(audio analysis application)180。たとえば、オーディオ分析アプリケーション180は、テキストを生成するために検出された発話を書き起こすことがあり、話者の変更がいつ発生したかをテキスト中で示し得る。
【0028】
[0047]
図2Aを参照すると、ユーザ発話プロファイル管理を実行するように構成されたシステムの特定の例示的な態様が、開示され、全体的に200と指定される。システム200は、マイクロフォン246に結合されるデバイス202を含む。デバイス202は、
図1のセグメンタ124およびプロファイルマネージャ126を使用して、ユーザ発話プロファイル管理を実行するように構成される。ある特定の態様では、デバイス202は、特徴量抽出器(feature extractor)222、セグメンタ124、プロファイルマネージャ126、話者検出器(talker detector)278、1つもしくは複数のオーディオ分析アプリケーション180、またはそれらの組合せを含む1つまたは複数のプロセッサ220を含む。
【0029】
[0048] 特徴量抽出器222は、オーディオストリームのオーディオ部分(たとえば、オーディオフレーム)の特徴量を表すオーディオ特徴量データセットを生成するように構成される。セグメンタ124は、同じ話者の発話を表すオーディオ部分(またはオーディオ特徴量データセット)を示すように構成される。プロファイルマネージャ126は、同じ話者の発話を表すオーディオ部分(またはオーディオ特徴量データセット)に基づいてユーザ発話プロファイルを生成(または更新)するように構成される。話者検出器278は、オーディオストリーム中で検出された話者のカウント(a count of talkers detected
)を決定するように構成される。特定の実装形態では、話者検出器278は、オーディオストリーム中の複数の話者を検出したことに応答してセグメンタ124をアクティブ化する(activate)ように構成される。この実装形態では、セグメンタ124は、話者検出器278がオーディオストリーム中の単一の話者を検出し、プロファイルマネージャ126が単一の話者に対応するユーザ発話プロファイルを生成(または更新)するときにバイパスされる。特定の実装形態では、1つまたは複数のオーディオ分析アプリケーション180は、ユーザ発話プロファイルに基づいてオーディオ分析を実行するように構成される。
【0030】
[0049] 特定の態様では、デバイス202は、1つまたは複数のプロセッサ220に結合されたメモリ232を含む。特定の態様では、メモリ232は、バッファ268などの1つまたは複数のバッファを含む。メモリ232は、セグメンテーションしきい値257(
図2Aの「セグメントしきい値」)などの1つまたは複数のしきい値を記憶するように構成される。特定の態様では、1つまたは複数のしきい値は、ユーザ入力、構成設定値、デフォルトデータ、またはそれらの組合せに基づく。
【0031】
[0050] 特定の態様では、メモリ232は、特徴量抽出器222、話者検出器278、セグメンタ124、プロファイルマネージャ126、1つもしくは複数のオーディオ分析アプリケーション180、またはそれらの組合せによって生成されたデータを記憶するように構成される。たとえば、メモリ232は、複数のユーザ242の複数のユーザ発話プロファイル150、セグメンテーション結果236(
図2Aの「セグメンテーション結果」)、オーディオ特徴量データセット(audio feature data set)252、オーディオ部分151、セグメンテーションスコア254(
図2Aの「セグメンテーションスコア」)、データセットセグメンテーション結果256(
図2Aの「データセットセグメンテーション結果」)、プロファイルID155、またはそれらの組合せを記憶するように構成される。メモリ232は、プロファイル更新データ(profile update data)272、ユーザ対話データ(user interaction data)274(
図2Aの「ユーザ対話データ」)、またはそれらの組合せを記憶するように構成される。
【0032】
[0051] デバイス202は、モデム、ネットワークインターフェース、入力インターフェースを介して、またはマイクロフォン246から、オーディオストリーム141を受信するように構成される。特定の態様では、オーディオストリーム141は、1つまたは複数のオーディオ部分151を含む。たとえば、オーディオストリーム141は、オーディオ部分151に対応するオーディオフレームのセットに分割されることがあり、各オーディオフレームは、オーディオストリーム141の時間ウィンドウ化された部分を表す。他の例では、オーディオストリーム141は、オーディオ部分151を生成するために別の方法で分割され得る。オーディオストリーム141の各オーディオ部分151は、無音、ユーザ242のうちの1人または複数の発話、または他の音を含むか、または表す。単一のユーザの発話を表すオーディオ部分151のセットは、話者同質オーディオセグメント111と呼ばれる。各話者同質オーディオセグメント111は、複数のオーディオ部分151(たとえば、複数のオーディオフレーム)を含む。特定の態様では、話者同質オーディオセグメント111は、少なくともしきい値カウントのオーディオフレーム(たとえば、5つのオーディオフレーム)を含む。特定の態様では、話者同質オーディオセグメント111は、同じユーザの発話に対応するオーディオ部分151の連続するセットを含む。特定の態様では、オーディオ部分151の連続するセットは、オーディオ部分151の1つまたは複数のサブセットを含むことがあり、各サブセットは、発話時の自然な短い休止を示すしきい値よりも小さい無音に対応する。
【0033】
[0052] オーディオストリーム141は、話者同質オーディオセグメント、無音に対応するオーディオセグメント、複数の話者に対応するオーディオセグメント、またはそれらの組合せの様々な組合せを含むことができる。一例として、
図2Aでは、オーディオストリーム141は、ユーザ242Aの発話に対応する話者同質オーディオセグメント111Aのオーディオ部分151Aと、無音(または非発話ノイズ)に対応するオーディオセグメント113のオーディオ部分151Bと、ユーザ242Bの発話に対応する話者同質オーディオセグメント111Bのオーディオ部分151Cとを含む。他の例では、オーディオストリーム114は、オーディオセグメントの異なるセットまたは配置を含む。オーディオ部分はオーディオフレームを指すものとして説明されるが、他の実装形態では、オーディオ部分は、オーディオフレームの一部分、複数のオーディオフレーム、特定の発話もしくは再生持続時間に対応するオーディオデータ、またはそれらの組合せを指す。
【0034】
[0053] 特徴量抽出器222は、オーディオ特徴量データセット252を生成するために、オーディオストリーム141のオーディオ特徴量を抽出(たとえば、決定)するように構成される。たとえば、特徴量抽出器222は、オーディオ特徴量データセット(AFDS:audio feature data set)252を生成するために、オーディオストリーム141のオーディオ部分151のオーディオ特徴量を抽出するように構成される。特定の態様では、オーディオ特徴量データセット252は、埋め込みベクトルなどのオーディオ特徴量ベクトルを含む。特定の態様では、オーディオ特徴量データセット252は、オーディオ部分151のメル周波数ケプストラム係数(MFCC:mel-frequency cepstral coefficient)を示す。特定の例では、特徴量抽出器222は、オーディオ部分151Aのオーディオ特徴量を抽出することによって、1つまたは複数のオーディオ特徴量データセット252Aを生成する。特徴量抽出器222は、オーディオ部分151Bのオーディオ特徴量を抽出することによって、1つまたは複数のオーディオ特徴量データセット252Bを生成する。特徴量抽出器222は、オーディオ部分151Cのオーディオ特徴量を抽出することによって、1つまたは複数のオーディオ特徴量データセット252Cを生成する。オーディオ特徴量データセット252は、1つまたは複数のオーディオ特徴量データセット252A、1つまたは複数のオーディオ特徴量データセット252B、1つまたは複数のオーディオ特徴量データセット252C、またはそれらの組合せを含む。
【0035】
[0054] 例示的な例では、特徴量抽出器222は、オーディオストリーム141の各フレームのオーディオ特徴量を抽出し、各フレームのオーディオ特徴量をセグメンタ124に提供する。特定の態様では、セグメンタ124は、特定の数のオーディオフレーム(たとえば、10個のオーディオフレーム)のオーディオ特徴量のセグメンテーションスコア(たとえば、セグメンテーションスコア254)のセットを生成するように構成される。たとえば、オーディオ部分151は、特定の数のオーディオフレーム(たとえば、10個のオーディオフレーム)を含む。特定の数のオーディオフレーム(たとえば、セグメンテーションスコアの特定のセットを生成するためにセグメンタ124によって使用される)のオーディオ特徴量は、オーディオ特徴量データセット252に対応する。たとえば、特徴量抽出器222は、第10のオーディオフレームの第10のオーディオ特徴量を含む、第1のオーディオフレームの第1のオーディオ特徴量、第2のオーディオフレームの第2のオーディオ特徴量などを抽出する。セグメンタ124は、第10のオーディオ特徴量を含む、第1のオーディオ特徴量、第2のオーディオ特徴量などに基づいて、第1のセグメンテーションスコア254を生成する。たとえば、第1のオーディオ特徴量、第2のオーディオ特徴量、および第10のオーディオ特徴量までは、第1のオーディオ特徴量データセット252に対応する。同様に、特徴量抽出器222は、第20のオーディオフレームの第20のオーディオ特徴量を含む、第11のオーディオフレームの第11のオーディオ特徴量、第12のオーディオフレームの第12のオーディオ特徴量などを抽出する。セグメンタ124は、第20のオーディオ特徴量を含む、第11のオーディオ特徴量、第12のオーディオ特徴量などに基づいて、第2のセグメンテーションスコア254を生成する。たとえば、第11のオーディオ特徴量、第12のオーディオ特徴量、および第20のオーディオ特徴量までは、第2のオーディオ特徴量データセット252に対応する。10個のオーディオフレームに基づいてセグメンテーションスコアのセットを生成することは、例示的な例として提供されることを理解されたい。他の例では、セグメンタ124は、10個よりも少ないまたは10個よりも多いオーディオフレームに基づいてセグメンテーションスコアのセットを生成する。たとえば、オーディオ部分151は、10個よりも少ないまたは10個よりも多いオーディオフレームを含む。
【0036】
[0055] セグメンタ124は、各オーディオ特徴量データセットについてセグメンテーションスコア(たとえば、セグメンテーションスコア254)のセットを生成するように構成される。たとえば、セグメンタ124へのオーディオ特徴量データセット252の入力に応答して、セグメンタ124は、複数のセグメンテーションスコア254を生成する。オーディオ特徴量データセット252に応答して生成されるセグメンテーションスコア254の数は、セグメンタ124が区別するようにトレーニングされる話者の数に依存する。一例として、セグメンタ124は、K個のセグメンテーションスコア254のセットを生成することによって、K人の異なる話者の発話を区別するように構成される。この例では、各セグメンテーションスコア254は、セグメンタ124に入力されたオーディオ特徴量データセットが対応する話者の発話を表す確率を示す。例示すると、セグメンタ124が、話者292A、話者292B、および話者292Cなどの3人の異なる話者の発話を区別するように構成されるとき、Kは3に等しい。この例示的な例では、セグメンタ124は、セグメンタ124に入力された各オーディオ特徴量データセット252について、セグメンテーションスコア254A、セグメンテーションスコア254B、およびセグメンテーションスコア254Cなどの3つのセグメンテーションスコア254を出力するように構成される。この例示的な例では、セグメンテーションスコア254Aは、オーディオ特徴量データセット252が話者292Aの発話を表す確率を示し、セグメンテーションスコア254Bは、オーディオ特徴量データセット252が話者292Bの発話を表す確率を示し、セグメンテーションスコア254Cは、オーディオ特徴量データセット252が話者292Cの発話を表す確率を示す。他の例では、セグメンタ124が区別するように構成される話者のカウント(上記の例ではK)は、3よりも大きいか、または3よりも小さい。
【0037】
[0056] 話者292は、セグメンタ124によって、たとえば、セグメンテーションウィンドウの間に、直近に検出された話者のセットに対応する。特定の態様では、話者292は、セグメンタ124によって区別されるために事前登録される必要はない。セグメンタ124は、事前登録されていない複数のユーザの発話を区別することによって、複数のユーザの受動的な登録を可能にする。セグメンテーションウィンドウは、オーディオ部分の特定のカウント(たとえば、20個のオーディオフレーム)、特定の時間ウィンドウ(たとえば、20ミリ秒)の間にセグメンタ124によって処理されたオーディオ部分、または特定の発話持続時間(speech duration)もしくは再生持続時間に対応するオーディオ部分までを含む。
【0038】
[0057]
図2Aに示される例では、オーディオストリーム141のオーディオ部分151の特徴量を表すオーディオ特徴量データセット252は、セグメンタ124への入力として提供され得る。この例では、オーディオ特徴量データセット252は、ユーザ242Aの発話を表すオーディオ特徴量データセット252A、無音を表すオーディオ特徴量データセット252B、およびユーザ242Bの発話を表すオーディオ特徴量データセット252Cなどの、ユーザ242のうちの2人以上の発話を表す。特定の実装形態では、セグメンタ124は、ユーザ242に関する事前情報を有しない。たとえば、ユーザ242は、デバイス202に事前登録されていない。オーディオ特徴量データセット252の入力に応答して、セグメンタ124は、セグメンテーションスコア254Aと、セグメンテーションスコア254Bと、セグメンテーションスコア254Cとを出力する。各セグメンテーションスコア254は、オーディオ特徴量データセット252がそれぞれの話者292の発話を表す確率を示し、セグメンテーションスコア254の各々は、セグメンテーションしきい値257と比較される。オーディオ特徴量データセット252のセグメンテーションスコア254の1つがセグメンテーションしきい値257を満たす場合、対応する話者292の発話は、オーディオ特徴量データセット252中で検出されたものとして示される。例示すると、オーディオ特徴量データセット252のセグメンテーションスコア254Aがセグメンテーションしきい値257を満たす場合、話者292Aの発話は、オーディオ特徴量データセット252(およびオーディオ特徴量データセット252によって表されるオーディオ部分151)中で検出されたものとして示される。同様の動作は、オーディオ特徴量データセット252A、オーディオ特徴量データセット252B、およびオーディオ特徴量データセット252Cの各々について実行される。
【0039】
[0058] セグメンタ124は、セグメンテーションウィンドウの間に、未知のユーザ(オーディオ特徴量データセット252によって表される発話に関連付けられる、セグメンタ124に知られていないユーザ242など)のプレースホルダとして話者292を使用する。たとえば、オーディオ特徴量データセット252Aは、ユーザ242Aの発話に対応する。セグメンタ124は、オーディオ特徴量データセット252Aが、話者292Aの発話(たとえば、ユーザ242Aのプレースホルダ)に対応することを示すために、セグメンテーションしきい値257を満たすオーディオ特徴量データセット252Aの各々のセグメンテーションスコア254Aを生成する。別の例として、オーディオ特徴量データセット252Cは、ユーザ242Bの発話に対応する。セグメンタ124は、オーディオ特徴量データセット252Cが、話者292Bの発話(たとえば、ユーザ242Bのプレースホルダ)に対応することを示すために、セグメンテーションしきい値257を満たすオーディオ特徴量データセット252Cの各々のセグメンテーションスコア254Bを生成する。
【0040】
[0059] 特定の実装形態では、セグメンタ124は、話者292A(たとえば、ユーザ242A)の発話がセグメンテーションウィンドウの持続時間にわたって検出されなかったとき、たとえば、話者292Aに関連付けられた以前の発話を検出してからしきい値持続時間が満了したとき、別のユーザ(たとえば、ユーザ242C)のプレースホルダとして話者292A(たとえば、セグメンテーションスコア254A)を再使用し得る。セグメンタ124は、話者プレースホルダに関連付けられた以前のユーザがセグメンテーションウィンドウの間に話していなかったとき、別のユーザの話者プレースホルダを再使用することによって、オーディオストリーム141中の所定のカウントを超える話者(たとえば、K人を超える話者)に関連付けられた発話を区別することができる。特定の実装形態では、セグメンタ124は、話者292A(たとえば、ユーザ242A)、話者292B(たとえば、ユーザ242B)、および話者292C(たとえば、ユーザ242C)の各々の発話が、セグメンテーションウィンドウ内で検出されたと決定し、別のユーザ(たとえば、ユーザ242D)に関連付けられた発話が検出されたと決定したことに応答して、話者292A(たとえば、ユーザ242A)の発話が最も以前に検出されたと決定したことに基づいて、話者プレースホルダ(たとえば、話者292A)を再使用する。
【0041】
[0060] 特定の態様では、セグメンタ124は、ニューラルネットワークなどのトレーニングされた機械学習システムを含むか、またはそれに対応する。たとえば、オーディオ特徴量データセット252を分析することは、話者セグメンテーションニューラルネットワーク(speaker segmentation neural network)(または別の機械学習ベースのシステム)をオーディオ特徴量データセット252に適用することを含む。
【0042】
[0061] 特定の態様では、セグメンタ124は、セグメンテーションスコア254に基づいてデータセットセグメンテーション結果256を生成する。データセットセグメンテーション結果256は、オーディオ部分151中で検出された話者292(もしあれば)を示す。たとえば、セグメンタ124によって出力されたデータセットセグメンテーション結果256は、話者292のセグメンテーションスコア254がセグメンテーションしきい値257を満たす(たとえば、それよりも大きい)と決定したことに応答して、話者292の発話が検出されたことを示す。例示すると、オーディオ特徴量データセット252のセグメンテーションスコア254Aがセグメンテーションしきい値257を満たすとき、セグメンタ124は、話者292Aの発話がオーディオ部分151中で検出されたことを示す、オーディオ特徴量データセット252についてのデータセットセグメンテーション結果256(たとえば、「1」)を生成する。別の例では、オーディオ特徴量データセット252のセグメンテーションスコア254Aおよびセグメンテーションスコア254Bの各々がセグメンテーションしきい値257を満たすとき、セグメンタ124は、話者292Aおよび話者292B(たとえば、複数の話者)の発話がオーディオ部分151中で検出されたことを示すために、オーディオ特徴量データセット252についてのデータセットセグメンテーション結果256(たとえば、「1、2」)を生成する。特定の例では、オーディオ特徴量データセット252のセグメンテーションスコア254A、セグメンテーションスコア254B、およびセグメンテーションスコア254Cの各々がセグメンテーションしきい値257を満たさないとき、セグメンタ124は、無音(または非発話オーディオ)がオーディオ部分151中で検出されたことを示すために、オーディオ特徴量データセット252についてのデータセットセグメンテーション結果256(たとえば、「0」)を生成する。オーディオ部分151(またはオーディオ特徴量データセット252)についてのセグメンテーション結果236は、オーディオ部分151(またはオーディオ特徴量データセット252)のセグメンテーションスコア254、データセットセグメンテーション結果256、またはその両方を含む。
【0043】
[0062] セグメンタ124は、オーディオ部分151(たとえば、オーディオ特徴量データセット252)のセグメンテーション結果236をプロファイルマネージャ126に提供するように構成される。プロファイルマネージャ126は、オーディオ特徴量データセット252が複数のユーザ発話プロファイル150のいずれにも一致しないと決定したことに応答して、オーディオ特徴量データセット252に少なくとも部分的に基づいてユーザ発話プロファイル150を生成するように構成される。特定の態様では、プロファイルマネージャ126は、話者同質オーディオセグメント111に基づいてユーザ発話プロファイル150を生成するように構成される。たとえば、プロファイルマネージャ126は、話者同質オーディオセグメント111Aのオーディオ特徴量データセグメント152Aに基づいて、話者292Aについてのユーザ発話プロファイル150A(たとえば、ユーザ242Aのプレースホルダ)を生成するように構成される。ユーザ発話プロファイル150Aは、ユーザ242Aの発話を表す(たとえば、モデル化する)。代替的に、プロファイルマネージャ126は、オーディオ特徴量データセット252がユーザ発話プロファイル150に一致すると決定したことに応答して、オーディオ特徴量データセット252に基づいてユーザ発話プロファイル150を更新するように構成される。たとえば、プロファイルマネージャ126は、後続のオーディオ部分についてのユーザ242Aのプレースホルダとしてどの話者292が使用されるかとは無関係に、ユーザ発話プロファイル150Aに一致する後続のオーディオ部分に基づいて、ユーザ242Aの発話を表すユーザ発話プロファイル150Aを更新するように構成される。特定の態様では、プロファイルマネージャ126は、ユーザ発話プロファイル150を生成または更新したことに応答して、ユーザ発話プロファイル150のプロファイルID155を出力する。
【0044】
[0063] 特定の実装形態では、話者検出器278は、オーディオストリーム141から抽出されたオーディオ特徴量に基づいて、オーディオストリーム141中で検出された話者のカウントを決定するように構成される。特定の態様では、話者検出器278は、特徴量抽出器222によって抽出されたオーディオ特徴量データセット252に基づいて話者のカウントを決定する。たとえば、話者のカウントを決定するために話者検出器278によって使用されるオーディオ特徴量は、セグメンテーション結果236を生成するためにセグメンタ124によって使用され、ユーザ発話プロファイル150を生成または更新するためにプロファイルマネージャ126によって使用されるオーディオ特徴量と同じであり得る。代替の態様では、話者検出器278は、特徴量抽出器222とは異なる第2の特徴量抽出器によって抽出されたオーディオ特徴量に基づいて話者のカウントを決定する。この態様では、話者のカウントを決定するために話者検出器278によって使用されるオーディオ特徴量は、セグメンテーション結果236を生成するためにセグメンタ124によって使用され、ユーザ発話プロファイル150を生成または更新するためにプロファイルマネージャ126によって使用されるオーディオ特徴量と異なり得る。特定の態様では、話者検出器278は、オーディオストリーム141中の少なくとも2人の異なる話者を検出したことに応答して、セグメンタ124をアクティブ化する。たとえば、セグメンタ124は、複数の話者がオーディオストリーム141中で検出されたとき、オーディオ特徴量データセット252を処理する。代替的に、話者検出器278がオーディオストリーム141中の単一の話者の発話を検出したとき、セグメンタ124はバイパスされ、プロファイルマネージャ126は、ユーザ発話プロファイル150を生成または更新するために、オーディオ特徴量データセット252を処理する。
【0045】
[0064] いくつかの実装形態では、デバイス202は、1つまたは様々なタイプのデバイスに対応するか、またはそれに含まれる。例示的な例では、1つまたは複数のプロセッサ220は、たとえば、
図13を参照しながらさらに説明される、マイクロフォン246を含むヘッドセットデバイスに統合される。他の例では、1つまたは複数のプロセッサ220は、
図12を参照しながら説明されるモバイルフォンもしくはタブレットコンピュータデバイス、
図14を参照しながら説明されるウェアラブル電子デバイス、
図15を参照しながら説明される音声制御スピーカーシステム、または
図16を参照しながら説明される仮想現実ヘッドセットもしくは拡張現実ヘッドセットのうちの少なくとも1つに統合される。別の例示的な例では、1つまたは複数のプロセッサ220は、たとえば、
図17および
図18を参照しながらさらに説明される、マイクロフォン246も含むビークルに統合される。
【0046】
[0065] 動作中、1つまたは複数のプロセッサ220は、1人または複数のユーザ242(たとえば、ユーザ242A、ユーザ242B、ユーザ242C、ユーザ242D、またはそれらの組合せ)の発話に対応するオーディオストリーム141を受信する。特定の例では、1つまたは複数のプロセッサ220は、1人または複数のユーザの発話をキャプチャしたマイクロフォン246からオーディオストリーム141を受信する。別の例では、オーディオストリーム141は、メモリ232に記憶されたオーディオ再生ファイルに対応し、1つまたは複数のプロセッサ220は、メモリ232からオーディオストリーム141を受信する。特定の態様では、1つまたは複数のプロセッサ220は、別のデバイスから入力インターフェースまたはネットワークインターフェース(たとえば、モデムのネットワークインターフェース)を介してオーディオストリーム141を受信する。
【0047】
[0066] 特徴量抽出段階中に、特徴量抽出器222は、オーディオストリーム141のオーディオ特徴量データセット252を生成する。たとえば、特徴量抽出器222は、オーディオストリーム141のオーディオ部分151の特徴量を決定することによって、オーディオ特徴量データセット252を生成する。特定の例では、オーディオストリーム141は、オーディオ部分151A、オーディオ部分151B、オーディオ部分151C、またはそれらの組合せを含む。特徴量抽出器222は、オーディオ部分151Aの特徴量を表すオーディオ特徴量データセット252A、オーディオ部分151Bの特徴量を表すオーディオ特徴量データセット252B、およびオーディオ部分151Cの特徴量を表すオーディオ特徴量データセット252C、またはそれらの組合せを生成する。たとえば、特徴量抽出器222は、オーディオ部分151のオーディオ特徴量を抽出することによって、オーディオ部分151(たとえば、オーディオフレーム)についてのオーディオ特徴量データセット252(たとえば、特徴量ベクトル)を生成する。
【0048】
[0067] セグメンテーション段階中に、セグメンタ124は、セグメンテーション結果236を生成するために、オーディオ特徴量データセット252を分析する。たとえば、セグメンタ124は、オーディオ部分151のセグメンテーションスコア254を生成するために、オーディオ部分151(たとえば、オーディオフレーム)のオーディオ特徴量データセット252(たとえば、特徴量ベクトル)を分析する。例示すると、セグメンテーションスコア254は、オーディオ部分151が話者292Aの発話に対応する尤度を示すセグメンテーションスコア254A(たとえば、0.6)を含む。セグメンテーションスコア254はまた、話者292Bおよび話者292Cの発話にそれぞれ対応するオーディオ部分151の尤度を示すセグメンテーションスコア254B(たとえば、0)およびセグメンテーションスコア254C(たとえば、0)を含む。特定の態様では、セグメンタ124は、セグメンテーションスコア254Aがセグメンテーションしきい値257を満たし、セグメンテーションスコア254Bおよびセグメンテーションスコア254Cの各々がセグメンテーションしきい値257を満たさないと決定したことに応答して、オーディオ部分151が話者292Aの発話に対応し、話者292Bまたは話者292Cのいずれの発話にも対応しないことを示すデータセットセグメンテーション結果256を生成する。セグメンタ124は、オーディオ部分151についてのセグメンテーションスコア254、データセットセグメンテーション結果256、またはその両方を示すセグメンテーション結果236を生成する。
【0049】
[0068] 特定の例では、セグメンテーション段階中に、セグメンタ124は、複数のセグメンテーションスコア(たとえば、セグメンテーションスコア254Aおよびセグメンテーションスコア254B)の各々がセグメンテーションしきい値257を満たすと決定したことに応答して、オーディオ部分151が複数の話者(たとえば、話者292Aおよび話者292B)の発話に対応することを示すセグメンテーション結果236を生成する。
【0050】
[0069] プロファイルマネージャ126は、
図2Bを参照しながらさらに説明されるように、セグメンテーション結果236に基づいてオーディオ部分151(たとえば、オーディオ特徴量データセット252)を処理する。
図2Bにおいて、メモリ232は、登録バッファ(enroll buffer)234、プローブバッファ(probe buffer)240、またはそれらの組合せを含む。たとえば、メモリ232は、話者292の各々について指定された登録バッファ234およびプローブバッファ240を含む。例示すると、メモリ232は、話者292Aについて指定された登録バッファ234Aおよびプローブバッファ240Aと、話者292Bについて指定された登録バッファ234Bおよびプローブバッファ240Bと、話者292Cについて指定された登録バッファ234Cおよびプローブバッファ240Cとを含む。メモリ232は、登録しきい値(enrollment threshold)264、プロファイルしきい値(profile threshold)258、無音しきい値(silence threshold)294、またはそれらの組合せを記憶するように構成される。メモリ232は、停止条件(stop condition)270、発話プロファイル結果(speech profile result)238、無音カウント262(
図2Bの「無音カウント」)、またはそれらの組合せを示すデータを記憶するように構成される。
【0051】
[0070] プロファイルマネージャ126は、プロファイルチェック段階中に、オーディオ特徴量データセット252が既存のユーザ発話プロファイル150に一致するかどうかを決定するように構成される。特定の態様では、プロファイルマネージャ126は、セグメンテーション結果236を生成するためにセグメンタ124によって使用されるオーディオ特徴量と同じオーディオ特徴量を、ユーザ発話プロファイル150との比較またはユーザ発話プロファイル150の更新のために使用する。別の態様では、プロファイルマネージャ126は、セグメンテーション結果236を生成するためにセグメンタ124によって使用される第1のオーディオ特徴量とは異なる第2のオーディオ特徴量を、ユーザ発話プロファイル150との比較またはユーザ発話プロファイル150の更新のために使用する。
【0052】
[0071] 特定の実装形態では、プロファイルマネージャ126は、比較の精度を改善するために、ユーザ発話プロファイル150と比較する前に、プローブバッファ240中の同じ話者に対応するオーディオ特徴量データセット252を収集するように構成される。オーディオ特徴量データセット252が既存のユーザ発話プロファイルに一致する場合、プロファイルマネージャ126は、更新段階中に、オーディオ特徴量データセット252に基づいて既存のユーザ発話プロファイルを更新するように構成される。オーディオ特徴量データセット252が既存のユーザ発話プロファイルに一致しない場合、プロファイルマネージャ126は、登録段階中に、オーディオ特徴量データセット252を登録バッファ234に追加し、登録バッファ234に記憶されたオーディオ特徴量データセット252が登録しきい値264を満たすと決定したことに応答して、登録バッファ234に記憶されたオーディオ特徴量データセット252に基づいてユーザ発話プロファイル150を生成するように構成される。
【0053】
[0072] プロファイルチェック段階中に、プロファイルマネージャ126は、ユーザ発話プロファイルが利用可能ではなく、オーディオ部分151が話者(たとえば、話者292A)の発話に対応することをセグメンテーション結果236が示すと決定したことに応答して、話者292について指定された登録バッファ234(たとえば、登録バッファ234A)にオーディオ特徴量データセット252を追加し、登録段階に進む。
【0054】
[0073] 特定の態様では、プロファイルマネージャ126は、少なくとも1つのユーザ発話プロファイル150が利用可能であると決定したことに応答して、オーディオ特徴量データセット252が少なくとも1つのユーザ発話プロファイル150のいずれかに一致するかどうかを決定するために、オーディオ特徴量データセット252と少なくとも1つのユーザ発話プロファイル150との比較を実行する。プロファイルマネージャ126は、少なくとも1つのユーザ発話プロファイル150が利用可能であり、オーディオ部分151が話者292(たとえば、話者292A)の発話に対応することをセグメンテーション結果236が示すと決定したことに応答して、話者292について指定されたプローブバッファ240(たとえば、プローブバッファ240A)にオーディオ特徴量データセット252を追加する。
【0055】
[0074] プロファイルマネージャ126は、プローブバッファ240に記憶されたオーディオ特徴量データセット(たとえば、オーディオ特徴量データセット252を含む)が少なくとも1つのユーザ発話プロファイル150のいずれかに一致するかどうかを決定する。たとえば、プロファイルマネージャ126は、プローブバッファ240(たとえば、プローブバッファ240A)のオーディオ特徴量データセット(たとえば、オーディオ特徴量データセット252を含む)と少なくとも1つのユーザ発話プロファイル150の各々との比較に基づいて、発話プロファイル結果238を生成する。例示すると、プロファイルマネージャ126は、プローブバッファ240(たとえば、プローブバッファ240A)のオーディオ特徴量データセット(たとえば、オーディオ特徴量データセット252を含む)とユーザ発話プロファイル150Aとの比較に基づいて、発話プロファイル結果238Aを生成する。
【0056】
[0075] 特定の態様では、プロファイルマネージャ126は、単一のオーディオ特徴量データセット(たとえば、オーディオ特徴量データセット252)がプローブバッファ240(たとえば、プローブバッファ240A)中で利用可能であると決定したことに応答して、単一のオーディオ特徴量データセットとユーザ発話プロファイル150Aとの比較に基づいて、発話プロファイル結果238Aを生成する。代替的に、プロファイルマネージャ126は、複数のオーディオ特徴量データセット(たとえば、オーディオ特徴量データセット252を含む)がプローブバッファ240(たとえば、プローブバッファ240A)中で利用可能であると決定したことに応答して、複数のオーディオ特徴量データセットとユーザ発話プロファイル150Aとの比較に基づいて、発話プロファイル結果238Aを生成する。たとえば、プロファイルマネージャ126は、オーディオ特徴量データセット252とユーザ発話プロファイル150Aとの比較に基づく第1のデータセット結果、プローブバッファ240の第2のオーディオ特徴量データセットとユーザ発話プロファイル150Aとの比較に基づく第2のデータセット結果、プローブバッファ240の追加のオーディオ特徴量データセットとユーザ発話プロファイル150Aとの比較に基づく追加のデータセット結果、またはそれらの組合せを生成する。プロファイルマネージャ126は、第1のデータセット結果、第2のデータセット結果、追加のデータセット結果、またはそれらの組合せ(たとえば、それらの加重平均)に基づいて発話プロファイル結果238Aを生成する。特定の態様では、プローブバッファ240により最近追加されたオーディオ特徴量データセットのデータセット結果により高い重みが割り当てられる。
【0057】
[0076] 発話プロファイル結果238Aは、オーディオ特徴量データセットがユーザ発話プロファイル150Aに一致する尤度を示す。同様に、プロファイルマネージャ126は、プローブバッファ240(たとえば、プローブバッファ240A)のオーディオ特徴量データセット(たとえば、オーディオ特徴量データセット252を含む)とユーザ発話プロファイル150Bとの比較に基づいて、発話プロファイル結果238Bを生成する。
【0058】
[0077] 特定の態様では、プロファイルマネージャ126は、オーディオ特徴量データセット252が対応するユーザ発話プロファイル150に一致する最も高い尤度を示す発話プロファイル結果238を選択する。たとえば、プロファイルマネージャ126は、発話プロファイル結果238Aが発話プロファイル結果238Bよりも高い(たとえば、それ以上である)一致の尤度を示すと決定したことに応答して、発話プロファイル結果238Aを選択する。プロファイルマネージャ126は、発話プロファイル結果238A(たとえば、最も高い一致の尤度を示す発話プロファイル結果238A)がプロファイルしきい値258を満たす(たとえば、それ以上である)と決定したことに応答して、プローブバッファ240(たとえば、プローブバッファ240A)に記憶されたオーディオ特徴量データセットがユーザ発話プロファイル150Aに一致すると決定し、更新段階に進む。代替的に、プロファイルマネージャ126は、発話プロファイル結果238A(たとえば、最も高い一致の尤度を示す発話プロファイル結果238A)がプロファイルしきい値258を満たさない(たとえば、それよりも小さい)と決定したことに応答して、プローブバッファ240(たとえば、プローブバッファ240A)に記憶されたオーディオ特徴量データセットがユーザ発話プロファイル150のいずれにも一致しないと決定し、登録段階に進む。
【0059】
[0078] 更新段階中に、プロファイルマネージャ126は、オーディオ特徴量データセット252がユーザ発話プロファイル150(たとえば、ユーザ発話プロファイル150A)に一致すると決定したことに応答して、ユーザ発話プロファイル150を更新し、ユーザ発話プロファイル150のプロファイルID155を出力する。プロファイルマネージャ126は、プローブバッファ240に記憶されたオーディオ特徴量データセットに基づいて、(プローブバッファ240に記憶されたオーディオ特徴量データセットに一致した)ユーザ発話プロファイル150を更新する。したがって、ユーザ発話プロファイル150Aは、ユーザ発話の変化に一致するように、経時的に発展する。
【0060】
[0079] 登録段階中に、プロファイルマネージャ126は、オーディオ特徴量データセット252が話者292(たとえば、話者292A)の発話を表すことをセグメンテーション結果236が示すと決定したことに応答して、話者292に対応する登録バッファ234(たとえば、登録バッファ234A)にオーディオ特徴量データセット252を追加する。プロファイルマネージャ126は、登録バッファ234に記憶されたオーディオ特徴量データセットが登録しきい値264を満たすかどうかを決定する。特定の態様では、プロファイルマネージャ126は、オーディオ特徴量データセットのカウントが登録しきい値264(たとえば、48個のオーディオ特徴量データセット)以上であると決定したことに応答して、登録バッファ234に記憶されたオーディオ特徴量データセットが登録しきい値264を満たすと決定する。別の態様では、プロファイルマネージャ126は、オーディオ特徴量データセットの発話持続時間(たとえば、再生持続時間)が登録しきい値264(たとえば、2秒)以上であると決定したことに応答して、登録バッファ234に記憶されたオーディオ特徴量データセットが登録しきい値264を満たすと決定する。
【0061】
[0080] プロファイルマネージャ126は、登録バッファ234に記憶されたオーディオ特徴量データセットが登録しきい値264を満たさないと決定したことに応答して、登録バッファ234に記憶されたオーディオ特徴量データセットに基づいてユーザ発話プロファイル150を生成することを控え、オーディオストリーム141の後続のオーディオ部分を処理し続ける。特定の態様では、プロファイルマネージャ126は、停止条件270が満たされるまで、話者292(たとえば、話者292A)の発話を表す後続のオーディオ特徴量データセット(subsequent audio feature data set)を、登録バッファ234(たとえば、登録バッファ234A)に追加し続ける。たとえば、プロファイルマネージャ126は、本明細書で説明されるように、登録バッファ234に記憶されたオーディオ特徴量データセット(たとえば、オーディオ特徴量データセット252を含む)のカウントが登録しきい値264を満たすこと、しきい値よりも長い無音(longer than threshold silence)がオーディオストリーム141中で検出されること、またはその両方を決定したことに応答して、停止条件270が満たされたと決定する。例示すると、停止条件270は、ユーザ発話プロファイルを生成するのに十分なオーディオ特徴量データセットが登録バッファ234中にあるとき、または話者292が発話するのを停止したように見えるときに満たされる。
【0062】
[0081] 特定の態様では、プロファイルマネージャ126は、登録バッファ234に記憶されたオーディオ特徴量データセット(たとえば、オーディオ特徴量データセット252を含む)が登録しきい値264を満たすと決定したことに応答して、登録バッファ234に記憶されたオーディオ特徴量データセットに基づいてユーザ発話プロファイル150Cを生成し、登録バッファ234をリセットし、ユーザ発話プロファイル150Cを複数のユーザ発話プロファイル150に追加し、ユーザ発話プロファイル150CのプロファイルID155を出力し、オーディオストリーム141の後続のオーディオ部分を処理し続ける。したがって、プロファイルマネージャ126は、話者292(たとえば、話者292A)について指定された登録バッファ234(たとえば、登録バッファ234A)に記憶された同じ話者292(たとえば、話者292A)に対応するオーディオ部分のオーディオ特徴量データセットに基づいてユーザ発話プロファイル150Cを生成する。ユーザ発話プロファイル150Cを生成するために複数のオーディオ特徴量データセットを使用することは、話者292A(たとえば、ユーザ242A)の発話を表す際のユーザ発話プロファイル150Aの精度を改善する。セグメンタ124およびプロファイルマネージャ126は、したがって、事前登録される必要がなく、ユーザ発話プロファイル生成のために所定の単語または文を話す必要がない、ユーザについてのユーザ発話プロファイルを生成することによって、複数のユーザの受動的な登録を可能にする。
【0063】
[0082] 特定の態様では、ユーザ発話プロファイル150を生成または更新するために、複数の話者に対応するオーディオ部分がスキップまたは無視される。たとえば、プロファイルマネージャ126は、オーディオ部分151が複数の話者の発話に対応することをセグメンテーション結果236が示すと決定したことに応答して、オーディオ部分151のオーディオ特徴量データセット252を無視し、オーディオストリーム141の後続のオーディオ部分を処理し続ける。たとえば、オーディオ特徴量データセット252を無視することは、オーディオ特徴量データセット252を複数のユーザ発話プロファイル150と比較することを控えること、オーディオ特徴量データセット252に基づいてユーザ発話プロファイル150を更新することを控えること、オーディオ特徴量データセット252に基づいてユーザ発話プロファイル150を生成することを控えること、またはそれらの組合せを含む。
【0064】
[0083] 特定の態様では、しきい値(たとえば、同じユーザの発話の際の自然な短い休止を示す)よりも短い無音に対応するオーディオ部分は、ユーザ発話プロファイル150を生成または更新するためには使用されないが、しきい値よりも長い無音を検出するために追跡される。たとえば、セグメンテーション段階中に、セグメンタ124は、オーディオ部分151が無音に対応することを示すオーディオ特徴量データセット252のセグメンテーション結果236を生成する。プロファイルマネージャ126は、オーディオ部分151が無音に対応すると決定したことに応答して、無音カウント262を(たとえば、1だけ)増加させる。特定の態様では、プロファイルマネージャ126は、無音カウント262が無音しきい値294以上である(たとえば、ユーザが話し終えた後のより長い休止を示す)と決定したことに応答して、登録バッファ234(たとえば、登録バッファ234A、登録バッファ234B、および登録バッファ234C)をリセットし(たとえば、空としてマークし)、プローブバッファ240(たとえば、プローブバッファ240A、プローブバッファ240B、およびプローブバッファ240C)をリセットし(たとえば、空としてマークし)、無音カウント262を(たとえば、0に)リセットし、またはそれらの組合せを行い、オーディオストリーム141の後続のオーディオ部分を処理し続ける。特定の態様では、プロファイルマネージャ126は、無音カウント262が無音しきい値294以上であると決定したことに応答して、停止条件270が満たされたと決定する。プロファイルマネージャ126は、停止条件270が満たされたと決定したことに応答して、登録バッファ234(たとえば、登録バッファ234A、登録バッファ234B、および登録バッファ234C)をリセットする。
【0065】
[0084] 特定の態様では、プロファイルマネージャ126は、デバイス202に結合されたディスプレイデバイスに通知を与える。通知は、ユーザ発話分析が進行中であることを示す。特定の態様では、プロファイルマネージャ126は、ユーザ発話分析が実行されるべきかどうかを示すユーザ入力に基づいて、オーディオストリーム141を選択的に処理する。
【0066】
[0085]
図2Aに戻ると、特定の態様では、プロファイルマネージャ126は、オーディオストリーム141の処理中にユーザ発話プロファイル150のうちのいくつが生成または更新されるかを追跡するために、プロファイル更新データ272を維持する。たとえば、プロファイルマネージャ126は、ユーザ発話プロファイル150を更新する(または生成する)ことに応答して、プロファイル更新データ272を更新する。特定の例では、プロファイルマネージャ126は、ユーザ発話プロファイル150Aを更新したことに応答して、ユーザ発話プロファイル150Aが更新されたことを示すためにプロファイル更新データ272を更新する。別の例として、プロファイルマネージャ126は、ユーザ発話プロファイル150Cを生成したことに応答して、ユーザ発話プロファイル150Cが更新されたことを示すためにプロファイル更新データ272を更新する。プロファイルマネージャ126は、複数のユーザ発話プロファイル150の第1のカウント(first count)がオーディオストリーム141の処理中に更新されたことをプロファイル更新データ272が示すと決定したことに応答して、オーディオストリーム141中で検出された話者のカウントとして第1のカウントを出力する。
【0067】
[0086] 特定の態様では、プロファイルマネージャ126は、複数のユーザ発話プロファイル150の各々に一致する検出された発話の持続時間を追跡するために、ユーザ対話データ274を維持する。プロファイルマネージャ126は、ユーザ発話プロファイル150を更新(または生成)することに基づいて、ユーザ対話データ274を更新する。たとえば、プロファイルマネージャ126は、オーディオ部分151に基づいてユーザ発話プロファイル150Aを更新したことに応答して、ユーザ発話プロファイル150Aに関連付けられたユーザがオーディオ部分151の発話持続時間にわたって対話したことを示すためにユーザ対話データ274を更新する。別の例として、プロファイルマネージャ126は、オーディオ部分151に基づいてユーザ発話プロファイル150Cを生成したことに応答して、ユーザ発話プロファイル150Cに関連付けられたユーザがオーディオ部分151の発話持続時間にわたって対話したことを示すためにユーザ対話データ274を更新する。例示すると、話者同質オーディオセグメント111のオーディオ部分に基づいてユーザ発話プロファイル150を生成または更新した後、ユーザ対話データ274は、ユーザ発話プロファイル150に関連付けられたユーザが話者同質オーディオセグメント111の発話持続時間にわたって対話したことを示す。特定の態様では、プロファイルマネージャ126は、ユーザ対話データ274を出力する。
【0068】
[0087] 特定の態様では、プロファイルマネージャ126は、プロファイルID155、プロファイル更新データ272、ユーザ対話データ274、追加情報、またはそれらの組合せを1つまたは複数のオーディオ分析アプリケーション180に提供する。たとえば、オーディオ分析アプリケーション180は、オーディオストリーム141のトランスクリプトを生成するために、オーディオ特徴量データセット252に対して発話-テキスト変換を実行する。オーディオ分析アプリケーション180は、オーディオ特徴量データセット252についてプロファイルマネージャ126から受信されたプロファイルID155に基づいて、トランスクリプト中のオーディオ特徴量データセット252に対応するテキストをラベル付けする。
【0069】
[0088] 特定の態様では、1つまたは複数のプロセッサ220は、複数の電力モード(power mode)のうちの1つで動作するように構成される。たとえば、1つまたは複数のプロセッサ220は、電力モード282(たとえば、常時オン電力モード)または電力モード284(たとえば、オンデマンド電力モード)で動作するように構成される。特定の態様では、電力モード282は、電力モード284と比較してより低い電力モード(lower power mode)である。たとえば、1つまたは複数のプロセッサ220は、(電力モード284と比較して)電力モード282で動作することによってエネルギーを節約し、電力モード282で動作しない構成要素をアクティブ化するために、必要に応じて電力モード284に遷移する。
【0070】
[0089] 特定の例では、デバイス202の機能のうちのいくつかは、電力モード284ではアクティブであるが、電力モード282ではアクティブでない。たとえば、話者検出器278は、電力モード282および電力モード284でアクティブ化され得る。この例では、特徴量抽出器222、セグメンタ124、プロファイルマネージャ126、1つもしくは複数のオーディオ分析アプリケーション180、またはそれらの組合せは、電力モード284でアクティブ化され得、電力モード282ではアクティブ化され得ない。オーディオストリーム141が単一の話者の発話に対応するとき、セグメンタ124は、異なる話者に対応するオーディオ部分を区別するために使用される必要はない。セグメンタ124が使用される必要がないときに電力モード282に留まる(または、それに遷移する)ことは、全体的なリソース消費量を低減する。話者検出器278は、電力モード282で、オーディオストリーム141が少なくとも2人の異なる話者の発話に対応するかどうかを決定するように構成される。1つまたは複数のプロセッサ220は、オーディオストリーム141が少なくとも2人の異なる話者の発話に対応することを話者検出器278の出力が示すと決定したことに応答して、電力モード282から電力モード284に遷移し、セグメンタ124をアクティブ化するように構成される。たとえば、セグメンタ124は、セグメンテーション結果236を生成するために、電力モード284で、オーディオ特徴量データセット252を分析する。
【0071】
[0090] 特定の例では、話者検出器278およびプロファイルマネージャ126は、電力モード282および電力モード284でアクティブ化され得る。この例では、特徴量抽出器222、セグメンタ124、1つもしくは複数のオーディオ分析アプリケーション180、またはそれらの組合せは、電力モード284でアクティブ化され得、電力モード282ではアクティブ化され得ない。たとえば、単一の話者が検出されたことを示す話者検出器278の出力に応答して、1つまたは複数のプロセッサ220は、電力モード282のままであるか、またはそれに遷移する。プロファイルマネージャ126は、電力モード282で、オーディオ特徴量データセット252に基づいて、単一の話者のユーザ発話プロファイル150を生成または更新する。代替的に、1つまたは複数のプロセッサ220は、オーディオストリーム141が少なくとも2人の異なる話者の発話に対応することを示す話者検出器278の出力に応答して、電力モード282から電力モード284に遷移し、セグメンタ124をアクティブ化する。たとえば、セグメンタ124は、セグメンテーション結果236を生成するために、電力モード284で、オーディオ特徴量データセット252を分析する。
【0072】
[0091] 特定の例では、特徴量抽出器222、話者検出器278、セグメンタ124、またはそれらの組合せは、電力モード282および電力モード284でアクティブ化され得る。この例では、プロファイルマネージャ126、1つもしくは複数のオーディオ分析アプリケーション180、またはそれらの組合せは、電力モード282ではなく、電力モード284でアクティブ化され得る。特定の態様では、1つまたは複数のプロセッサ220は、オーディオストリーム141が少なくとも2人の異なる話者の発話に対応することをセグメンテーション結果236が示すと決定したことに応答して、電力モード282から電力モード284に遷移し、プロファイルマネージャ126、1つもしくは複数のオーディオ分析アプリケーション180、またはそれらの組合せをアクティブ化するように構成される。たとえば、プロファイルマネージャ126は、電力モード284で、オーディオ特徴量データセット252と複数のユーザ発話プロファイル150との比較を実行する。
【0073】
[0092] 特定の態様では、1つまたは複数のプロセッサ220は、オーディオストリーム141が少なくとも2人の異なる話者の発話に対応することをセグメンテーション結果236が示すと決定したことに応答して、電力モード284でオーディオストリーム141の後続のオーディオ部分を処理する。たとえば、特徴量抽出器222、セグメンタ124、またはその両方は、後続のオーディオ部分を処理するために電力モード284で動作する。特定の態様では、特徴量抽出器222、話者検出器278、セグメンタ124、またはそれらの組合せは、電力モード282でオーディオストリーム141のオーディオ情報を決定し、電力モード284で1つまたは複数のオーディオ分析アプリケーション180にオーディオ情報(audio information)を提供する。オーディオ情報は、オーディオストリーム141中で示される話者のカウント、ボイスアクティビティ検出(VAD:voice activity detection)情報(information)、またはその両方を含む。
【0074】
[0093] 特定の実装形態では、オーディオストリーム141、オーディオ特徴量データセット252、またはそれらの組合せの1つまたは複数の部分はバッファ268に記憶され、1つまたは複数のプロセッサ220は、バッファ268からの、オーディオストリーム141、オーディオ特徴量データセット252、またはそれらの組合せの1つまたは複数の部分にアクセスする。たとえば、1つまたは複数のプロセッサ220は、オーディオ部分151をバッファ268に記憶する。特徴量抽出器222は、バッファ268からオーディオ部分151を取り出し、オーディオ特徴量データセット252をバッファ268に記憶する。セグメンタ124は、バッファ268からオーディオ特徴量データセット252を取り出し、オーディオ特徴量データセット252のセグメンテーションスコア254、データセットセグメンテーション結果256、またはそれらの組合せをバッファ268に記憶する。プロファイルマネージャ126は、バッファ268からオーディオ特徴量データセット252、セグメンテーションスコア254、データセットセグメンテーション結果256、またはそれらの組合せを取り出す。特定の態様では、プロファイルマネージャ126は、プロファイルID155、プロファイル更新データ272、ユーザ対話データ274、またはそれらの組合せをバッファ268に記憶する。特定の態様では、1つまたは複数のオーディオ分析アプリケーション180は、バッファ268から、プロファイルID155、プロファイル更新データ272、ユーザ対話データ274、またはそれらの組合せを取り出す。
【0075】
[0094] したがって、システム200は、複数の話者についての受動的なユーザ発話プロファイル登録および更新を可能にする。たとえば、複数のユーザ発話プロファイル150は、ユーザ242にスクリプトからの所定の単語または文を言わせる必要なしに、デバイス202の通常動作中にバックグラウンドで生成および更新され得る。
【0076】
[0095] マイクロフォン246はデバイス202に結合されているものとして図示されているが、他の実装形態では、マイクロフォン246は、デバイス202に統合され得る。単一のマイクロフォン246が図示されているが、他の実装形態では、ユーザ発話をキャプチャするように構成された1つまたは複数の追加のマイクロフォン146が含まれ得る。
【0077】
[0096] システム200は、単一のデバイス202を含むものとして図示されているが、他の実装形態では、デバイス202において実行されるものとして説明される動作は、複数のデバイスの間で分散され得る。たとえば、特徴量抽出器222、話者検出器278、セグメンタ124、プロファイルマネージャ126、または1つもしくは複数のオーディオ分析アプリケーション180のうちの1つまたは複数によって実行されるものとして説明される動作は、デバイス202において実行されることがあり、特徴量抽出器222、話者検出器278、セグメンタ124、プロファイルマネージャ126、または1つもしくは複数のオーディオ分析アプリケーション180のうちの他のものによって実行されるものとして説明される動作は、第2のデバイスにおいて実行され得る。
【0078】
[0097]
図3を参照すると、ユーザ発話プロファイル管理に関連する動作300の例示的な態様が示されている。特定の態様では、動作300のうちの1つまたは複数は、セグメンタ124、
図1のプロファイルマネージャ126、特徴量抽出器222、1つもしくは複数のプロセッサ220、デバイス202、
図2Aのシステム200、またはそれらの組合せによって実行される。
【0079】
[0098] 話者セグメンテーション302中に、
図2Aの特徴量抽出器222は、
図2Aを参照しながら説明されたように、オーディオストリーム141に基づいてオーディオ特徴量データセット252を生成する。セグメンタ124は、
図2Aを参照しながら説明されたように、セグメンテーション結果236を生成するために、オーディオ特徴量データセット252を分析する。
【0080】
[0099] 音声プロファイル管理(voice profile management)304中に、
図1のプロファイルマネージャ126は、306において、オーディオ特徴量データセット252が登録された話者に対応するかどうかを決定する。たとえば、プロファイルマネージャ126は、
図2Bを参照しながら説明されたように、オーディオ特徴量データセット252がいずれかのユーザ発話プロファイル150に一致するかどうかを決定する。プロファイルマネージャ126は、306において、オーディオ特徴量データセット252がプロファイルID155を有するユーザ発話プロファイル150Aに一致すると決定したことに応答して、308において、オーディオ特徴量データセット252に少なくとも部分的に基づいてユーザ発話プロファイル150Aを更新する。代替的に、プロファイルマネージャ126は、306において、オーディオ特徴量データセット252が複数のユーザ発話プロファイル150のいずれにも一致せず、オーディオ特徴量データセット252が話者292Aの発話を表すことをセグメンテーション結果236が示すと決定したことに応答して、310において、話者292Aについて指定された登録バッファ234Aにオーディオ特徴量データセット252を追加する。
【0081】
[0100] プロファイルマネージャ126は、312において、登録バッファ234Aのオーディオ特徴量データセットのカウント(または登録バッファ234Aのオーディオ特徴量データセットの発話持続時間)が登録しきい値264よりも大きいと決定したことに応答して、314において、話者を登録する。たとえば、プロファイルマネージャ126は、
図2Bを参照しながら説明されたように、登録バッファ234Aのオーディオ特徴量データセットに基づいてユーザ発話プロファイル150Cを生成し、ユーザ発話プロファイル150Cを複数のユーザ発話プロファイル150に追加する。プロファイルマネージャ126は、オーディオストリーム141の後続のオーディオ部分を処理し続ける。
【0082】
[0101] したがって、話者セグメンテーション302中に生成されたセグメンテーション結果236は、同じ話者の発話に対応するオーディオ特徴量データセットが、音声プロファイル管理304中に話者登録のための同じ登録バッファ中に収集されることを可能にする。複数のオーディオ特徴量データセットに基づいてユーザ発話プロファイル150Cを生成することは、話者の発話を表す際のユーザ発話プロファイル150Cの精度を改善する。
【0083】
[0102]
図4を参照すると、ユーザ発話プロファイル管理に関連する動作400の例示的な態様が示されている。特定の態様では、動作400のうちの1つまたは複数は、セグメンタ124、
図1のプロファイルマネージャ126、特徴量抽出器222、1つもしくは複数のプロセッサ220、デバイス202、
図2Aのシステム200、またはそれらの組合せによって実行される。
【0084】
[0103] オーディオストリーム141は、オーディオ部分151A~オーディオ部分151Iを含む。話者セグメンテーション302中に、
図1のセグメンタ124は、
図2Aを参照しながら説明されたように、オーディオ部分151A~Iの各々について、セグメンテーションスコア254A、セグメンテーションスコア254B、およびセグメンテーションスコア254Cを生成する。
【0085】
[0104] セグメンテーションスコア254は、オーディオ部分151Aが(たとえば、話者292Aとして指定された)同じ単一の話者の発話に対応することを示す。たとえば、オーディオ部分151Aの各々のセグメンテーションスコア254Aは、セグメンテーションしきい値257を満たす。オーディオ部分151Aの各々のセグメンテーションスコア254Bおよびセグメンテーションスコア254Cは、セグメンテーションしきい値257を満たさない。
【0086】
[0105] 発話プロファイル管理304中に、プロファイルマネージャ126は、話者292Aに関連付けられた登録バッファ234Aに、オーディオ部分151A(たとえば、対応するオーディオ特徴量データセット)を追加する。プロファイルマネージャ126は、オーディオ部分151A(たとえば、対応するオーディオ特徴量データセット)に基づいてユーザ発話プロファイル150Aを生成する。
【0087】
[0106] 特定の態様では、セグメンテーションスコア254は、オーディオ部分151Bが複数の話者、たとえば、話者292Aおよび別の話者(たとえば、話者292Bとして指定された)の発話に対応することを示す。
図4において、プロファイルマネージャ126は、オーディオ部分151B(たとえば、対応するオーディオ特徴量データセット)に基づいてユーザ発話プロファイル150Aを更新する。特定の態様では、プロファイルマネージャ126はまた、話者292Bに関連付けられた登録バッファ234Bにオーディオ部分151Bを追加する。代替の態様では、プロファイルマネージャ126は、複数の話者に対応するオーディオ部分151Bを無視する。たとえば、プロファイルマネージャ126は、ユーザ発話プロファイル150を更新または生成するためにオーディオ部分151Bを使用することを控える。
【0088】
[0107] セグメンテーションスコア254は、オーディオ部分151Cが話者292B(たとえば、単一の話者)の発話に対応することを示す。プロファイルマネージャ126は、オーディオ部分151Cを登録バッファ234Bに追加する。プロファイルマネージャ126は、登録バッファ234Bに記憶されたオーディオ部分(たとえば、対応するオーディオ特徴量データセット)が登録しきい値264を満たさないと決定したことに応答して、登録バッファ234Bに記憶されたオーディオ部分(たとえば、対応するオーディオ特徴量データセット)に基づいてユーザ発話プロファイル150を生成することを控える。特定の態様では、登録バッファ234Bに記憶されたオーディオ部分(たとえば、対応するオーディオ特徴量データセット)は、オーディオ部分151B(たとえば、対応するオーディオ特徴量データセット)とオーディオ部分151C(たとえば、対応するオーディオ特徴量データセット)とを含む。代替の態様では、登録バッファ234Bに記憶されたオーディオ部分(たとえば、対応するオーディオ特徴量データセット)は、オーディオ部分151C(たとえば、対応するオーディオ特徴量データセット)を含み、オーディオ部分151B(たとえば、対応するオーディオ特徴量データセット)を含まない。
【0089】
[0108] セグメンテーションスコア254は、オーディオ部分151Dが(たとえば、話者292Cとして指定された)別の単一の話者の発話に対応することを示す。プロファイルマネージャ126は、オーディオ部分151Dの第1のサブセット(たとえば、対応するオーディオ特徴量データセット)を登録バッファ234Cに追加する。プロファイルマネージャ126は、登録バッファ234Cに記憶されたオーディオ部分151Dの第1のサブセット(たとえば、対応するオーディオ特徴量データセット)が登録しきい値264を満たすと決定したことに応答して、登録バッファ234Cに記憶されたオーディオ部分151Dの第1のサブセット(たとえば、対応するオーディオ特徴量データセット)に基づいてユーザ発話プロファイル150Bを生成する。プロファイルマネージャ126は、オーディオ部分151Dの第2のサブセットに基づいてユーザ発話プロファイル150Bを更新する。
【0090】
[0109] セグメンテーションスコア254は、オーディオ部分151Eがしきい値よりも大きい無音に対応することを示す。たとえば、オーディオ部分151Eのカウントは、無音しきい値294以上である。プロファイルマネージャ126は、オーディオ部分151Eがしきい値よりも大きい無音に対応すると決定したことに応答して、登録バッファ234をリセットする。
【0091】
[0110] セグメンテーションスコア254は、オーディオ部分151Fが(たとえば、話者292Aとして指定された)単一の話者の発話に対応することを示す。プロファイルマネージャ126は、オーディオ部分151Fの各々がユーザ発話プロファイル150Bに一致すると決定したことに応答して、オーディオ部分151Fに基づいてユーザ発話プロファイル150Bを更新する。話者指定(たとえば、話者292A)が再使用されているので、オーディオ部分151Dおよびオーディオ部分151Fは、オーディオ部分151Dおよびオーディオ部分151Fが同じ話者(たとえば、
図2Aのユーザ242C)の発話に対応し、同じユーザ発話プロファイル(たとえば、ユーザ発話プロファイル150B)に一致しても、異なる指定された話者、たとえば、話者292Cおよび話者292Aにそれぞれ関連付けられる。
【0092】
[0111] セグメンテーションスコア254は、オーディオ部分151Gが(たとえば、話者292Bとして指定された)単一の話者の発話に対応することを示す。プロファイルマネージャ126は、オーディオ部分151Gの第1のサブセットがユーザ発話プロファイル150のいずれにも一致しないと決定したことに応答して、オーディオ部分151Gの第1のサブセットを話者292Bに関連付けられた登録バッファ234Bに追加する。プロファイルマネージャ126は、オーディオ部分151Gの第1のサブセットに基づいてユーザ発話プロファイル150Cを生成し、オーディオ部分151Gの第2のサブセットに基づいてユーザ発話プロファイル150Cを更新する。話者指定(たとえば、話者292B)が再使用されているので、オーディオ部分151Cおよびオーディオ部分151Gは、同じ指定された話者、たとえば話者292Bに関連付けられ、オーディオ部分151Cおよびオーディオ部分151Gは、同じユーザまたは異なるユーザの発話に対応することができる。
【0093】
[0112] セグメンテーションスコア254は、オーディオ部分151Hがしきい値よりも大きい無音に対応することを示す。プロファイルマネージャ126は、オーディオ部分151Hがしきい値よりも大きい無音に対応すると決定したことに応答して、登録バッファ234をリセットする。
【0094】
[0113] セグメンテーションスコア254は、オーディオ部分151Iが(たとえば、話者292Cとして指定された)単一の話者の発話に対応することを示す。プロファイルマネージャ126は、オーディオ部分151Iの各々がユーザ発話プロファイル150Aに一致すると決定したことに応答して、オーディオ部分151Iに基づいてユーザ発話プロファイル150Aを更新する。話者指定(たとえば、話者292C)が再使用されているので、オーディオ部分151Aおよびオーディオ部分151Iは、オーディオ部分151Aおよびオーディオ部分151Iが同じユーザ(たとえば、
図2Aのユーザ242A)の発話に対応し、同じユーザ発話プロファイル(たとえば、ユーザ発話プロファイル150A)に一致しても、異なる指定された話者、たとえば、話者292Aおよび話者292Cにそれぞれ関連付けられる。代替の態様では、プロファイルマネージャ126は、オーディオ部分151Iが複数のユーザ発話プロファイル150のいずれにも一致しないと決定したことに応答して、話者292Cに関連付けられた登録バッファ234Cにオーディオ部分151Iの第1のサブセットを追加し、オーディオ部分151Iの第1のサブセットに基づいてユーザ発話プロファイル150Dを生成する。話者指定(たとえば、話者292C)を再使用することによって、プロファイルマネージャ126は、セグメンタ124によって区別され得る話者292の所定のカウント(たとえば、K)よりも多いカウントのユーザプロファイルを生成(または更新)することができる。
【0095】
[0114]
図5を参照すると、ユーザ発話プロファイル管理に関連する動作500の例示的な態様が示されている。特定の態様では、動作500のうちの1つまたは複数は、セグメンタ124、
図1のプロファイルマネージャ126、特徴量抽出器222、1つもしくは複数のプロセッサ220、デバイス202、
図2Aのシステム200、またはそれらの組合せによって実行される。
【0096】
[0115] オーディオストリーム141は、オーディオ部分151Aと、オーディオ部分151Bと、オーディオ部分151Cとを含む。たとえば、オーディオ部分151Aは、オーディオ部分151D(たとえば、オーディオフレーム)と、1つまたは複数の追加のオーディオ部分と、オーディオ部分151Eとを含む。オーディオ部分151Bは、オーディオ部分151Fと、1つまたは複数の追加のオーディオ部分と、オーディオ部分151Gとを含む。オーディオ部分151Cは、オーディオ部分151Hと、1つまたは複数の追加のオーディオ部分と、オーディオ部分151Iとを含む。
【0097】
[0116] 特定の態様では、オーディオ部分151Aの各々のデータセットセグメンテーション結果256Aは、オーディオ部分151Aが話者292Aの発話に対応することを示す。たとえば、オーディオ部分151Dのデータセットセグメンテーション結果256D(たとえば、「1」)は、オーディオ部分151Dが話者292Aの発話を表すことを示す。別の例として、オーディオ部分151Eのデータセットセグメンテーション結果256E(たとえば、「1」)は、オーディオ部分151Eが話者292Aの発話を表すことを示す。
【0098】
[0117] オーディオ部分151Bの各々のデータセットセグメンテーション結果256Bは、オーディオ部分151Bが無音(または非発話ノイズ)に対応することを示す。たとえば、オーディオ部分151Fのデータセットセグメンテーション結果256F(たとえば、「0」)は、オーディオ部分151Fが無音(または非発話ノイズ)を表すことを示す。別の例として、オーディオ部分151Gのデータセットセグメンテーション結果256G(たとえば、「0」)は、オーディオ部分151Gが無音(または非発話ノイズ)を表すことを示す。
【0099】
[0118] オーディオ部分151Cの各々のデータセットセグメンテーション結果256Cは、オーディオ部分151Cが話者292Bの発話に対応することを示す。たとえば、オーディオ部分151Hのデータセットセグメンテーション結果256H(たとえば、「2」)は、オーディオ部分151Hが話者292Bの発話を表すことを示す。別の例として、オーディオ部分151Iのデータセットセグメンテーション結果256I(たとえば、「2」)は、オーディオ部分151Iが話者292Bの発話を表すことを示す。
【0100】
[0119] グラフ590は、セグメンテーション結果236の一例の視覚的表現である。たとえば、オーディオ部分151Aは、話者292A(たとえば、単一の話者)の発話を表し、したがって、オーディオ部分151Aは、オーディオストリーム141の話者同質オーディオセグメント111Aに対応する。オーディオ部分151Bは無音を表し、したがって、オーディオ部分151Bは、(たとえば、話者同質オーディオセグメントではなく)オーディオストリーム141のオーディオセグメント113Aに対応する。オーディオ部分151Cは、話者292B(たとえば、単一の話者)の発話を表し、したがって、オーディオ部分151Cは、オーディオストリーム141の話者同質オーディオセグメント111Bに対応する。
【0101】
[0120] グラフ592は、発話プロファイル結果238の一例の視覚的表現である。プロファイルマネージャ126は、オーディオ部分151Aの第1のサブセットに基づいてユーザ発話プロファイル150Aを生成する。プロファイルマネージャ126は、ユーザ発話プロファイル150Aの生成後、後続のオーディオ部分(たとえば、後続のオーディオ特徴量データセット)を、ユーザ発話プロファイル150Aと比較することによって、発話プロファイル結果238Aを決定する。オーディオ部分151の発話プロファイル結果238Aは、オーディオ部分151がユーザ発話プロファイル150Aに一致する尤度を示す。プロファイルマネージャ126は、オーディオ部分151Cの第1のサブセットをユーザ発話プロファイル150Aと比較することによって、オーディオ部分151Cの第1のサブセットの発話プロファイル結果238Aを決定する。プロファイルマネージャ126は、オーディオ部分151Cの第1のサブセットの発話プロファイル結果238Aがプロファイルしきい値258よりも小さいと決定したことに応答して、オーディオ部分151Cの第1のサブセットがユーザ発話プロファイル150Aに一致しないと決定する。
【0102】
[0121] プロファイルマネージャ126は、オーディオ部分151Cの第1のサブセットがユーザ発話プロファイル150Aに一致しないと決定したことに応答して、オーディオ部分151Cの第1のサブセットに基づいて、ユーザ発話プロファイル150Bを生成する。プロファイルマネージャ126は、ユーザ発話プロファイル150Bの生成後、後続のオーディオ部分をユーザ発話プロファイル150Bと比較することによって、発話プロファイル結果238Bを決定する。発話プロファイル結果238Bは、オーディオ部分がユーザ発話プロファイル150Bに一致する尤度を示す。たとえば、オーディオ部分151Cの第2のサブセットの発話プロファイル結果238Bは、オーディオ部分151Cの第2のサブセットがユーザ発話プロファイル150Bに一致することを示す。特定の態様では、プロファイルマネージャ126は、グラフ590、グラフ592、またはその両方を含むグラフィカルユーザインターフェース(GUI)を生成し、GUIをディスプレイデバイスに提供する。
【0103】
[0122]
図6を参照すると、ユーザ発話プロファイル管理に関連する動作600の例示的な態様が示されている。特定の態様では、動作600のうちの1つまたは複数は、セグメンタ124、
図1のプロファイルマネージャ126、特徴量抽出器222、1つもしくは複数のプロセッサ220、デバイス202、
図2Aのシステム200、またはそれらの組合せによって実行される。
【0104】
[0123] オーディオストリーム141は、複数の話者の発話に対応するオーディオ部分151Jを含む。たとえば、オーディオ部分151Jは、オーディオ部分151K(たとえば、オーディオフレーム)と、1つまたは複数の追加のオーディオ部分と、オーディオ部分151Lとを含む。特定の態様では、オーディオ部分151Jの各々のデータセットセグメンテーション結果256Dは、オーディオ部分151Jが話者292Aおよび話者292Bの発話に対応することを示す。たとえば、オーディオ部分151Kのデータセットセグメンテーション結果256K(たとえば、「1、2」)は、オーディオ部分151Kが話者292Aおよび話者292Bの発話を表すことを示す。別の例として、オーディオ部分151Lのデータセットセグメンテーション結果256L(たとえば、「1、2」)は、オーディオ部分151Lが話者292Aおよび話者292Bの発話を表すことを示す。オーディオ部分151Jは、複数の話者の発話を表し、したがって、オーディオ部分151Jは、(たとえば、話者同質オーディオセグメントではなく)オーディオセグメント113Bに対応する。
【0105】
[0124] プロファイルマネージャ126は、ユーザ発話プロファイル150Aの生成後、後続のオーディオ部分(たとえば、後続のオーディオ特徴量データセット)を、ユーザ発話プロファイル150Aと比較することによって、発話プロファイル結果238Aを決定する。プロファイルマネージャ126は、オーディオ部分151Jをユーザ発話プロファイル150Aと比較することによって、オーディオ部分151Jの発話プロファイル結果238Aを決定する。特定の態様では、オーディオ部分151Jが話者292Aの発話に加えて話者292Bの発話を含むので、オーディオ部分151Jの発話プロファイル結果238Aは、オーディオ部分151Aの発話プロファイル結果238Aよりも低い。
【0106】
[0125]
図7を参照すると、ユーザ発話プロファイル管理に関連する動作700の例示的な態様が示されている。特定の態様では、動作700のうちの1つまたは複数は、特徴量抽出器222、セグメンタ124、プロファイルマネージャ126、1つもしくは複数のプロセッサ220、デバイス202、
図2Aのシステム200、またはそれらの組合せによって実行される。
【0107】
[0126] オーディオストリーム141は、オーディオ部分151Jとオーディオ部分151Kとを含む。たとえば、オーディオ部分151Jは、オーディオ部分151L(たとえば、オーディオフレーム)と、1つまたは複数の追加のオーディオ部分と、オーディオ部分151Mとを含む。オーディオ部分151Kは、オーディオ部分151N(たとえば、オーディオフレーム)と、1つまたは複数の追加のオーディオ部分と、オーディオ部分151Oとを含む。
【0108】
[0127] 特定の態様では、オーディオ部分151Jの各々のデータセットセグメンテーション結果256Jは、オーディオ部分151Jが話者292C(たとえば、単一の話者)の発話を表し、したがって、オーディオ部分151Jが話者同質オーディオセグメント111Cに対応することを示す。オーディオ部分151Kの各々のデータセットセグメンテーション結果256Kは、オーディオ部分151Kが無音(または非発話ノイズ)を表し、したがって、オーディオ部分151Kがオーディオセグメント113Cに対応することを示す。
【0109】
[0128] プロファイルマネージャ126は、ユーザ発話プロファイル150Aの生成後、オーディオ部分151Jをユーザ発話プロファイル150Aと比較することによって、オーディオ部分151Jの発話プロファイル結果238Aを決定する。プロファイルマネージャ126は、発話プロファイル結果238Aがプロファイルしきい値258よりも小さいと決定したことに応答して、オーディオ部分151Jがユーザ発話プロファイル150Aに一致しないと決定する。
【0110】
[0129] プロファイルマネージャ126は、オーディオ部分151Jがユーザ発話プロファイル150Aに一致しないと決定したことに応答して、話者292Cに関連付けられた登録バッファ234Cにオーディオ部分151Jを記憶する。プロファイルマネージャ126は、登録バッファ234Cに記憶されたオーディオ部分151Jが登録しきい値264を満たさないと決定したことに応答して、登録バッファ234Cに記憶されたオーディオ部分151Jに基づいてユーザ発話プロファイル150を生成することを控える。プロファイルマネージャ126は、オーディオ部分151Kがしきい値よりも大きい無音を示すと決定したことに応答して、登録バッファ234をリセットする(たとえば、空としてマークする)。オーディオ部分151Jは、したがって、話者292Cが発話することを停止したように見えるとき、登録バッファ234Cから除去される。
【0111】
[0130]
図8を参照すると、ユーザ発話プロファイル管理に関連する動作800の例示的な態様が示されている。特定の態様では、動作800のうちの1つまたは複数は、セグメンタ124、
図1のプロファイルマネージャ126、特徴量抽出器222、1つもしくは複数のプロセッサ220、デバイス202、
図2Aのシステム200、またはそれらの組合せによって実行される。
【0112】
[0131]
図1のセグメンタ124は、804において、話者セグメンテーション302を実行する。たとえば、セグメンタ124は、
図2Aを参照しながら説明されたように、時間Tにおいて特徴量抽出器222からオーディオ特徴量データセット252を受信し、オーディオ部分151のオーディオ特徴量データセット252のセグメンテーションスコア254を生成する。
【0113】
[0132]
図1のプロファイルマネージャ126は、806において、セグメンテーションスコア254のいずれかがセグメンテーションしきい値257を満たすかどうかを決定する。たとえば、プロファイルマネージャ126は、セグメンテーションスコア254のいずれもセグメンテーションしきい値257を満たさないと決定したことに応答して、オーディオ特徴量データセット252が無音(または非発話ノイズ)を表すと決定し、無音カウント262を(たとえば、1だけ)増加させる。プロファイルマネージャ126は、無音カウント262を増加させた後に、808において、無音カウント262が無音しきい値294よりも大きいかどうかを決定する。
【0114】
[0133] プロファイルマネージャ126は、808において、無音カウント262が無音しきい値294よりも大きいと決定したことに応答して、810において、リセットを実行する。たとえば、プロファイルマネージャ126は、登録バッファ234をリセットし(たとえば、空としてマークし)、プローブバッファ240をリセットし(たとえば、空としてマークし)、無音カウント262をリセットし(たとえば、0にリセットし)、またはそれらの組合せをリセットすることによってリセットを実行し、オーディオストリーム141の後続のオーディオ特徴量データセットを処理するために804に戻る。代替的に、プロファイルマネージャ126は、808において、無音カウント262が無音しきい値294以下であると決定したことに応答して、オーディオストリーム141の後続のオーディオ特徴量データセットを処理するために804に戻る。
【0115】
[0134] プロファイルマネージャ126は、806において、セグメンテーションスコア254のうちの少なくとも1つがセグメンテーションしきい値257を満たすと決定したことに応答して、812において、プローブバッファ240のうちの少なくとも1つにオーディオ特徴量データセット252を追加する。たとえば、プロファイルマネージャ126は、話者292Aに関連付けられたセグメンテーションスコア254Aがセグメンテーションしきい値257を満たすと決定したことに応答して、オーディオ特徴量データセット252が話者292Aの発話を表すと決定し、話者292Aに関連付けられたプローブバッファ240Aにオーディオ特徴量データセット252を追加する。特定の実装形態では、複数の話者292の発話を表すオーディオ特徴量データセット252が、複数の話者292に対応する複数のプローブバッファ240に追加される。たとえば、プロファイルマネージャ126は、セグメンテーションスコア254Aおよびセグメンテーションスコア254Bの各々がセグメンテーションしきい値257を満たすと決定したことに応答して、オーディオ特徴量データセット252をプローブバッファ140Aおよびプローブバッファ140Bに追加する。代替の実装形態では、複数の話者292の発話を表すオーディオ特徴量データセット252は、無視され、プローブバッファ240に追加されない。
【0116】
[0135] プロファイルマネージャ126は、816において、対応する話者(たとえば、話者292A)が登録されているかどうかを決定する。たとえば、プロファイルマネージャ126は、対応するプローブバッファ240(たとえば、プローブバッファ240A)のオーディオ特徴量データセット(たとえば、オーディオ特徴量データセット252を含む)を、複数のユーザ発話プロファイル150と比較することによって、話者292(たとえば、話者292A)が登録されているかどうかを決定する。
【0117】
[0136] プロファイルマネージャ126は、816において、話者292(たとえば、話者292A)が登録されていないと決定したことに応答して、818において、オーディオ特徴量データセット252が品質チェックに合格するかどうかを決定する。たとえば、プロファイルマネージャ126は、オーディオ特徴量データセット252が複数の話者292に対応すると決定したことに応答して、オーディオ特徴量データセット252が品質チェックに不合格であると決定する。代替的に、プロファイルマネージャ126は、オーディオ特徴量データセット252が単一の話者に対応すると決定したことに応答して、オーディオ特徴量データセット252が品質チェックに合格したと決定する。
【0118】
[0137] プロファイルマネージャ126は、818において、オーディオ特徴量データセット252が品質チェックに合格しなかったと決定したことに応答して、オーディオストリーム141の後続のオーディオ特徴量データセットを処理するために804に戻る。代替的に、プロファイルマネージャ126は、818において、オーディオ特徴量データセット252が品質チェックに合格したと決定したことに応答して、820において、話者292(たとえば、話者292A)の発話を表すオーディオ特徴量データセット252を、話者292に関連付けられた登録バッファ234(たとえば、登録バッファ234A)に追加する。
【0119】
[0138] プロファイルマネージャ126は、822において、登録バッファ234(たとえば、登録バッファ234A)に記憶されたオーディオ特徴量データセットのカウントが登録しきい値264よりも大きいかどうかを決定する。プロファイルマネージャ126は、822において、登録バッファ234(たとえば、登録バッファ234)の各々に記憶されたオーディオ特徴量データセットのカウントが登録しきい値264以下であると決定したことに応答して、オーディオストリーム141の後続のオーディオ特徴量データセットを処理するために804に戻る。代替的に、プロファイルマネージャ126は、登録バッファ234(たとえば、登録バッファ234A)のオーディオ特徴量データセットのカウントが登録しきい値264よりも大きいと決定したことに応答して、824において、ユーザ発話プロファイル150Aを生成し、ユーザ発話プロファイル150Aを複数のユーザ発話プロファイル150に追加し、オーディオストリーム141の後続のオーディオ特徴量データセットを処理するために804に戻る。
【0120】
[0139] プロファイルマネージャ126は、816において、話者292Aが登録されていると決定したことに応答して、826において、オーディオ特徴量データセット252(または、発話がオーディオ特徴量データセット252によって表される話者292に関連付けられたプローブバッファ240のオーディオ特徴量データセット)が品質チェックに合格するかどうかを決定する。プロファイルマネージャ126は、826において、オーディオ特徴量データセット252(またはプローブバッファ240のオーディオ特徴量データセット)が品質チェックに合格しなかったと決定したことに応答して、オーディオストリーム141の後続のオーディオ特徴量データセットを処理するために804に戻る。プロファイルマネージャ126は、826において、オーディオ特徴量データセット252(またはプローブバッファ240のオーディオ特徴量データセット)が品質チェックに合格したと決定したことに応答して、オーディオ特徴量データセット252(またはプローブバッファ240のオーディオ特徴量データセット)に基づいて(オーディオ特徴量データセット252に一致する)ユーザ発話プロファイル150Aを更新し、オーディオストリーム141の後続のオーディオ特徴量データセットを処理するために804に戻る。代替の態様では、826における品質チェックは、オーディオ特徴量データセット252をプローブバッファ240に追加する前に実行される。たとえば、プロファイルマネージャ126は、オーディオ特徴量データセット252が品質チェックに合格しなかったと決定したことに応答して、オーディオ特徴量データセット252をプローブバッファ240に追加することを控え、オーディオストリーム141の後続のオーディオ特徴量データセットを処理するために804に戻る。
【0121】
[0140]
図9を参照すると、ユーザ発話プロファイル管理に関連する動作900の例示的な態様が示されている。特定の態様では、動作900のうちの1つまたは複数は、セグメンタ124、
図1のプロファイルマネージャ126、特徴量抽出器222、話者検出器278、1つもしくは複数のプロセッサ220、デバイス202、
図2Aのシステム200、またはそれらの組合せによって実行される。
【0122】
[0141] 1つまたは複数のプロセッサ220は、電力モード282で、時間Tにおいてバッファ268にオーディオ特徴量(たとえば、オーディオ特徴量データセット252)を追加する。
図2Aの話者検出器278は、904において、オーディオストリーム141中で複数の話者が検出されたかどうかを決定する。たとえば、話者検出器278は、オーディオ特徴量(たとえば、オーディオ特徴量データセット252)が複数の話者の発話を表すと決定したことに応答して、複数の話者が検出されたと決定する。別の例では、話者検出器278は、オーディオ特徴量(たとえば、オーディオ特徴量データセット252)が、以前のオーディオ特徴量(たとえば、以前のオーディオ特徴量データセット)において検出された第1の話者の発話に続く第2の話者の発話を表すと決定したことに応答して、複数の話者が検出されたと決定する。
【0123】
[0142] 話者検出器278は、904において、複数の話者がオーディオストリーム141中で検出されなかったと決定したことに応答して、オーディオストリーム141の後続のオーディオ特徴量を処理し続ける。代替的に、話者検出器278は、904において、オーディオストリーム141中で複数の話者が検出されたと決定したことに応答して、906において、1つまたは複数のプロセッサ220を電力モード282から電力モード284に遷移させ、1つまたは複数のアプリケーション920をアクティブ化する。特定の態様では、1つまたは複数のアプリケーション920は、特徴量抽出器222、セグメンタ124、プロファイルマネージャ126、1つもしくは複数のオーディオ分析アプリケーション180、またはそれらの組合せを含む。特定の態様では、話者検出器278は、1つまたは複数のアプリケーション920をアクティブ化するために、1つまたは複数のプロセッサ220を電力モード282から電力モード284に遷移させるためのウェイクアップ信号または割込みのうちの少なくとも1つを生成する。
【0124】
[0143] 話者検出器278は、910において、電力モード284で、複数の話者が検出されたかどうかを決定する。たとえば、話者検出器278は、複数の話者が検出されたかどうかの以前の決定からしきい値時間が満了した後に複数の話者が検出されたかどうかを決定する。話者検出器278は、複数の話者が検出されたと決定したことに応答して、電力モード282に遷移することを控える。代替的に、話者検出器278は、複数の話者がオーディオ特徴量データセットのしきい値カウント内で検出されなかったと決定したことに応答して、1つまたは複数のプロセッサ220を電力モード284から電力モード282に遷移させる。
【0125】
[0144] 1つまたは複数のプロセッサ220は、したがって、(電力モード284と比較して)電力モード282で動作することによってエネルギーを節約し、電力モード282で動作しない構成要素をアクティブ化するために、必要に応じて電力モード284に遷移する。電力モード284への選択的な遷移は、デバイス202の全体的な電力消費量を低減する。
【0126】
[0145]
図10を参照すると、ユーザ発話プロファイル管理の方法1000の特定の実装形態が示されている。特定の態様では、方法1000の1つまたは複数の動作は、セグメンタ124、
図1のプロファイルマネージャ126、話者検出器278、1つもしくは複数のプロセッサ220、デバイス202、
図2Aのシステム200、またはそれらの組合せのうちの少なくとも1つによって実行される。
【0127】
[0146] 方法1000は、1002において、第1の電力モードで、オーディオストリームが少なくとも2人の異なる話者の発話に対応するかどうかを決定することを含む。たとえば、
図2Aの話者検出器278は、
図2Aを参照しながら説明されたように、電力モード282で、オーディオストリーム141が少なくとも2人の異なる話者の発話に対応するかどうかを決定する。
【0128】
[0147] 方法1000は、1004において、オーディオストリームが少なくとも2人の異なる話者の発話に対応すると決定したことに基づいて、第2の電力モードで、セグメンテーション結果を生成するためにオーディオストリームのオーディオ特徴量データを分析することを含む。たとえば、
図2Aの1つまたは複数のプロセッサ220は、
図2Aを参照しながら説明されたように、オーディオストリーム141が少なくとも2人の異なる話者の発話に対応すると決定したことに基づいて、電力モード284に遷移し、セグメンタ124をアクティブ化する。セグメンタ124は、
図2Aを参照しながら説明されたように、電力モード284で、セグメンテーション結果236を生成するためにオーディオストリーム141のオーディオ特徴量データセット252を分析する。セグメンテーション結果236は、
図2Aを参照しながら説明されたように、オーディオストリーム141の話者同質オーディオセグメント(たとえば、話者同質オーディオセグメント111Aおよび話者同質オーディオセグメント111B)を示す。
【0129】
[0148] 方法1000はまた、1006において、第1の話者同質オーディオセグメントの第1の複数のオーディオ特徴量データセットのうちの第1のオーディオ特徴量データセットが複数のユーザ発話プロファイルのいずれかに一致するかどうかを決定するために、複数のユーザ発話プロファイルと、第1のオーディオ特徴量データセットとの比較を実行することを含む。たとえば、
図1のプロファイルマネージャ126は、
図2Bを参照しながら説明されたように、オーディオ特徴量データセット252が複数のユーザ発話プロファイル150のいずれかに一致するかどうかを決定するために、複数のユーザ発話プロファイル150と、話者同質オーディオセグメント111Aの1つまたは複数のオーディオ特徴量データセット252Aのうちのオーディオ特徴量データセット252との比較を実行する。
【0130】
[0149] 方法1000は、1008において、第1のオーディオ特徴量データセットが複数のユーザ発話プロファイルのいずれにも一致しないと決定したことに基づき、第1の複数のオーディオ特徴量データセットに基づいて第1のユーザ発話プロファイルを生成することと、第1のユーザ発話プロファイルを複数のユーザ発話プロファイルに追加することとをさらに含む。たとえば、
図1のプロファイルマネージャ126は、
図2Bを参照しながら説明されたように、オーディオ特徴量データセット252が複数のユーザ発話プロファイル150のいずれにも一致しないと決定したことに基づき、1つまたは複数のオーディオ特徴量データセット252Aの少なくともサブセットに基づいてユーザ発話プロファイル150Cを生成し、ユーザ発話プロファイル150Cを複数のユーザ発話プロファイル150に追加する。
【0131】
[0150] 方法1000は、話者同質オーディオセグメントのオーディオ特徴量データセットに基づいて、ユーザ発話プロファイルの生成を可能にする。同じ話者の発話に対応する複数のオーディオ特徴量データセットを使用することは、単一のオーディオ特徴量データに基づいてユーザ発話プロファイルを生成することと比較して、話者の発話を表す際のユーザ発話プロファイルの精度を改善する。受動的な登録は、ユーザが事前登録される必要なしに、またはユーザが所定の単語もしくは文を話す必要なしに、ユーザ発話プロファイルを生成するために使用され得る。
【0132】
[0151]
図10の方法1000は、フィールドプログラマブルゲートアレイ(FPGA)デバイス、特定用途向け集積回路(ASIC)、中央処理装置(CPU)などの処理ユニット、DSP、コントローラ、別のハードウェアデバイス、ファームウェアデバイス、またはそれらの任意の組合せによって実装され得る。一例として、
図10の方法1000は、たとえば、
図19を参照しながら説明される、命令を実行するプロセッサによって実行され得る。
【0133】
[0152]
図11は、1つまたは複数のプロセッサ220を含む集積回路1102としてのデバイス202の実装形態1100を示す。1つまたは複数のプロセッサ220は、複数のアプリケーション1122を含む。アプリケーション1122は、特徴量抽出器222、話者検出器278、セグメンタ124、プロファイルマネージャ126、プロファイルマネージャ126、1つもしくは複数のオーディオ分析アプリケーション180、またはそれらの組合せを含む。集積回路1102はまた、オーディオストリーム141が処理のために受信されることを可能にするために、1つまたは複数のバスインターフェースなどのオーディオ入力1104を含む。集積回路1102はまた、プロファイルID155などの出力信号1143の送信を可能にするために、バスインターフェースなどの信号出力1106を含む。集積回路1102は、
図12に示されるモバイルフォンもしくはタブレット、
図13に示されるヘッドセット、
図14に示されるウェアラブル電子デバイス、
図15に示される音声制御スピーカーシステム、
図16に示される仮想現実ヘッドセットもしくは拡張現実ヘッドセット、または
図17もしくは
図18に示されるビークルなどの、マイクロフォンを含むシステム中の構成要素としてのユーザ発話プロファイル管理の実装を可能にする。
【0134】
[0153]
図12は、例示的で非限定的な例として、デバイス202が電話またはタブレットなどのモバイルデバイス1202を含む実装形態1200を示す。モバイルデバイス1202は、マイクロフォン246とディスプレイスクリーン1204とを含む。アプリケーション1122を含む1つまたは複数のプロセッサ220の構成要素は、モバイルデバイス1202に統合され、モバイルデバイス1202のユーザには通常見えない内部構成要素を示すために破線を使用して示されている。特定の例では、アプリケーション1122の特徴量抽出器222、セグメンタ124、およびプロファイルマネージャ126は、ユーザ発話プロファイルを管理するように動作し、次いで、グラフィカルユーザインターフェースを起動するか、または場合によっては(たとえば、統合「スマートアシスタント」アプリケーションを介して)ディスプレイスクリーン1204においてユーザの発話に関連付けられた他の情報(たとえば、会話トランスクリプト)を表示するなど、モバイルデバイス1202における1つまたは複数の動作を実行するために使用される。
【0135】
[0154]
図13は、デバイス202がヘッドセットデバイス1302を含む実装形態1300を示す。ヘッドセットデバイス1302は、マイクロフォン246を含む。アプリケーション1122を含む1つまたは複数のプロセッサ220の構成要素は、ヘッドセットデバイス1302に統合される。特定の例では、アプリケーション1122の特徴量抽出器222、セグメンタ124、およびプロファイルマネージャ126は、ユーザ発話プロファイルを管理するように動作し、それにより、ヘッドセットデバイス1302に、さらなる処理のために、ユーザ発話に対応する情報(たとえば、
図2Bのプロファイル更新データ272、ユーザ対話データ274、またはその両方)を第2のデバイス(図示せず)に送信するなど、ヘッドセットデバイス1302における1つまたは複数の動作、またはそれらの組合せを実行させ得る。
【0136】
[0155]
図14は、デバイス202が、「スマートウォッチ」として示されたウェアラブル電子デバイス1402を含む実装形態1400を示す。アプリケーション1122およびマイクロフォン246は、ウェアラブル電子デバイス1402に統合される。特定の例では、アプリケーション1122の特徴量抽出器222、セグメンタ124、およびプロファイルマネージャ126は、ユーザ発話プロファイルを管理するように動作し、次いで、グラフィカルユーザインターフェースを起動するか、または場合によってはウェアラブル電子デバイス1402のディスプレイスクリーン1404においてユーザの発話に関連付けられた他の情報を表示するなど、ウェアラブル電子デバイス1402における1つまたは複数の動作を実行するために使用される。例示すると、ウェアラブル電子デバイス1402は、ウェアラブル電子デバイス1402によって検出されたユーザ発話に基づいて通知(たとえば、カレンダーイベントを追加するためのオプション)を表示するように構成されたディスプレイスクリーン1404を含み得る。特定の例では、ウェアラブル電子デバイス1402は、ユーザ発話の検出に応答して触覚通知を提供する(たとえば、振動する)触覚デバイスを含む。たとえば、触覚通知は、ユーザによって話されたキーワードの検出を示す表示された通知を見るために、ウェアラブル電子デバイス1402をユーザに見させることができる。したがって、ウェアラブル電子デバイス1402は、ユーザの発話が検出されたことを、聴覚障害を有するユーザまたはヘッドセットを装着しているユーザに警告することができる。特定の例では、ウェアラブル電子デバイス1402は、発話の検出に応答して会話のトランスクリプトを表示することができる。
【0137】
[0156]
図15は、デバイス202がワイヤレススピーカーと音声起動デバイス1502とを含む実装形態1500である。ワイヤレススピーカーおよび音声起動デバイス1502は、ワイヤレスネットワーク接続性を有することができ、アシスタント動作を実行するように構成される。アプリケーション1122、マイクロフォン246、またはそれらの組合せを含む1つまたは複数のプロセッサ220は、ワイヤレススピーカーおよび音声起動デバイス1502に含まれる。ワイヤレススピーカーおよび音声起動デバイス1502はまた、スピーカー1504を含む。動作中、アプリケーション1122の特徴量抽出器222、セグメンタ124、およびプロファイルマネージャ126の動作を介して、ユーザ発話プロファイル150Aに関連付けられたユーザのユーザ発話として識別される口頭コマンドを受信したことに応答して、ワイヤレススピーカーおよび音声起動デバイス1502は、音声起動システム(たとえば、統合アシスタントアプリケーション)の実行などを介して、アシスタント動作を実行することができる。アシスタント動作は、温度を調整すること、音楽を再生すること、照明をつけることなどを含むことができる。たとえば、アシスタント動作は、キーワードまたはキーフレーズ(たとえば、「ハロー、アシスタント」)の後にコマンドを受信したことに応答して実行される。特定の態様では、アシスタント動作は、ユーザ発話プロファイル150Aに関連付けられたユーザについて、ユーザ固有のコマンド(たとえば、「明日の午後2時に私のカレンダーにアポイントを設定する」または「私の部屋の暖房の温度を上げる」)を実行することを含む。
【0138】
[0157]
図16は、デバイス202が、仮想現実(virtual reality)ヘッドセット、拡張現実(augmented reality)ヘッドセット、または複合現実(mixed reality)ヘッドセット1602に対応するポータブル電子デバイスを含む実装形態1600を示す。アプリケーション1122、マイクロフォン246、またはそれらの組合せは、ヘッドセット1602に統合される。視覚的インターフェースデバイス1620は、ヘッドセット1602が装着されている間、ユーザへの拡張現実または仮想現実の画像またはシーンの表示を可能にするために、ユーザの眼の前に配置される。特定の例では、視覚的インターフェースデバイスは、マイクロフォン246から受信されたオーディオ信号中で検出されたユーザ発話を示す通知を表示するように構成される。特定の態様では、視覚的インターフェースデバイスは、マイクロフォン246によってピックアップされた会話の会話トランスクリプトを表示するように構成される。
【0139】
[0158]
図17は、デバイス202が、有人または無人の航空デバイス(たとえば、パッケージ配達ドローン)として示されるビークル1702に対応するか、またはその中に統合される実装形態1700を示す。アプリケーション1122、マイクロフォン246、またはそれらの組合せは、ビークル1702に統合される。発話分析は、マイクロフォン246によってキャプチャされた会話のトランスクリプトを生成するためなどに、ビークル1702のマイクロフォン246から受信されたオーディオ信号に基づいて実行され得る。
【0140】
[0159]
図18は、デバイス202が、自動車として示されるビークル1802に対応するか、またはその中に統合される別の実装形態1800を示す。ビークル1802は、アプリケーション1122を含む1つまたは複数のプロセッサ220を含む。ビークル1802はまた、マイクロフォン246を含む。マイクロフォン246は、ビークル1802の1人または複数の乗員の発言をキャプチャするように配置される。ユーザ発話分析は、ビークル1802のマイクロフォン246から受信されたオーディオ信号に基づいて実行され得る。いくつかの実装形態では、ユーザ発話分析は、ビークル1802の乗員間の会話などの、内部マイクロフォン(たとえば、マイクロフォン246)から受信されたオーディオ信号に基づいて実行され得る。たとえば、ユーザ発話分析は、ビークル1802中で検出された会話(たとえば、「土曜日の午後にピクニックに行きましょう」および「もちろん。素晴らしいですね」)に基づいて、特定のユーザ発話プロファイル(particular user speech profile)に関連付けられたユーザのカレンダーイベントを設定するために使用され得る。いくつかの実装形態では、ユーザ発話分析は、ビークル1802の外部で話すユーザなどの、外部マイクロフォン(たとえば、マイクロフォン246)から受信されたオーディオ信号に基づいて実行され得る。特定の実装形態では、特定の発話プロファイルに関連付けられたユーザ間の特定の会話を検出したことに応答して、アプリケーション1122は、ディスプレイ1820または1つもしくは複数のスピーカー(たとえば、スピーカー1830)を介してフィードバックまたは情報(たとえば、「ユーザ1は土曜日の午後3時までに事前の約束を持っているので、ピクニックを午後4時にスケジュールしますか?」)を提供することなどによって、検出された会話、検出されたユーザ、またはその両方に基づいてビークル1802の1つまたは複数の動作を開始する。
【0141】
[0160]
図19を参照すると、デバイスの特定の例示的な実装形態のブロック図が示されており、全体的に1900と称される。様々な実装形態では、デバイス1900は、
図19に示されているものよりも多いまたは少ない構成要素を有し得る。例示的な実装形態では、デバイス1900はデバイス202に対応し得る。例示的な実装形態では、デバイス1900は、
図1~
図18を参照して説明された1つまたは複数の動作を実行し得る。
【0142】
[0161] 特定の実装形態では、デバイス1900はプロセッサ1906(たとえば、中央処理装置(CPU))を含む。デバイス1900は、1つまたは複数の追加のプロセッサ1910(たとえば、1つまたは複数のDSP)を含み得る。特定の態様では、
図2Aの1つまたは複数のプロセッサ220は、プロセッサ1906、プロセッサ1910、またはそれらの組合せに対応する。プロセッサ1910は、特徴量抽出器222、話者検出器278、セグメンタ124、プロファイルマネージャ126、1つもしくは複数のオーディオ分析アプリケーション180、またはそれらの組合せを含み得る。
【0143】
[0162] デバイス1900は、メモリ1986とコーデック1934とを含み得る。特定の態様では、メモリ1986は、
図2Aのメモリ232に対応する。メモリ1986は、特徴量抽出器222、話者検出器278、セグメンタ124、プロファイルマネージャ126、1つもしくは複数のオーディオ分析アプリケーション180、またはそれらの組合せを参照しながら説明された機能を実装するために、1つまたは複数の追加のプロセッサ1910(またはプロセッサ1906)によって実行可能である命令1956を含み得る。デバイス1900は、トランシーバ1950を介してアンテナ1952に結合されたワイヤレスコントローラ1940を含み得る。特定の態様では、デバイス1900は、トランシーバ1950に結合されたモデムを含む。
【0144】
[0163] デバイス1900は、ディスプレイコントローラ1926に結合されたディスプレイ1928を含み得る。1つまたは複数のスピーカー1992、マイクロフォン246、またはそれらの組合せが、コーデック1934に結合され得る。コーデック1934は、デジタルアナログ変換器(DAC)1902、アナログデジタル変換器(ADC)1904、またはその両方を含み得る。特定の実装形態では、コーデック1934は、マイクロフォン246からアナログ信号を受信し、アナログデジタル変換器1904を使用してアナログ信号をデジタル信号に変換し、1つまたは複数のプロセッサ1910にデジタル信号を提供し得る。1つまたは複数のプロセッサ1910は、デジタル信号を処理し得る。特定の実装形態では、1つまたは複数のプロセッサ1910は、デジタル信号をコーデック1934に提供し得る。コーデック1934は、デジタルアナログ変換器1902を使用してデジタル信号をアナログ信号に変換することがあり、アナログ信号をスピーカー1992に提供することがある。
【0145】
[0164] 特定の実装形態では、デバイス1900は、システムインパッケージまたはシステムオンチップデバイス1922に含まれ得る。特定の実装形態では、メモリ1986、プロセッサ1906、プロセッサ1910、ディスプレイコントローラ1926、コーデック1934、ワイヤレスコントローラ1940、およびトランシーバ1950は、システムインパッケージまたはシステムオンチップデバイス1922に含まれる。特定の実装形態では、入力デバイス1930および電源1944は、システムオンチップデバイス1922に結合される。その上、特定の実装形態では、
図19に示されるように、ディスプレイ1928、入力デバイス1930、スピーカー1992、マイクロフォン246、アンテナ1952、および電源1944は、システムオンチップデバイス1922の外部にある。特定の実装形態では、ディスプレイ1928、入力デバイス1930、スピーカー1992、マイクロフォン246、アンテナ1952、および電源1944の各々は、インターフェースまたはコントローラなどの、システムオンチップデバイス1922の構成要素に結合され得る。
【0146】
[0165] デバイス1900は、スマートスピーカー、スピーカーバー、モバイル通信デバイス、スマートフォン、セルラーフォン、ラップトップコンピュータ、コンピュータ、タブレット、携帯情報端末、ディスプレイデバイス、テレビ、ゲームコンソール、音楽プレーヤ、ラジオ、デジタルビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、チューナー、カメラ、ナビゲーションデバイス、ビークル、ヘッドセット、拡張現実ヘッドセット、仮想現実ヘッドセット、航空機、ホームオートメーションシステム、音声起動デバイス、ワイヤレススピーカーおよび音声起動デバイス、ポータブル電子デバイス、自動車、コンピューティングデバイス、通信デバイス、モノのインターネット(IoT:internet-of-things)デバイス、仮想現実(VR)デバイス、基地局、モバイルデバイス、またはそれらの任意の組合せを含み得る。
【0147】
[0166] 説明された実装形態に関連して、装置は、複数のユーザの複数のユーザ発話プロファイルを記憶するための手段を含む。たとえば、記憶するための手段は、メモリ232、デバイス202、
図2Aのシステム200、メモリ1986、デバイス1900、複数のユーザ発話プロファイルを記憶するように構成された1つもしくは複数の他の回路もしくは構成要素、またはそれらの任意の組合せを含む。
【0148】
[0167] 本装置は、第1の電力モードで、オーディオストリームが少なくとも2人の異なる話者の発話に対応するかどうかを決定するための手段をさらに含む。たとえば、決定するための手段は、話者検出器278、1つもしくは複数のプロセッサ220、デバイス202、
図2Aのシステム200、プロセッサ1906、1つもしくは複数のプロセッサ1910、デバイス1900、オーディオストリームが少なくとも2人の異なる話者の発話に対応するかどうかを第1の電力モードで決定するように構成された1つもしくは複数の他の回路もしくは構成要素、またはそれらの任意の組合せを含む。
【0149】
[0168] 本装置はまた、セグメンテーション結果を生成するためにオーディオストリームのオーディオ特徴量データを分析するための手段を含む。たとえば、分析するための手段は、セグメンタ124、1つもしくは複数のプロセッサ220、デバイス202、
図2Aのシステム200、プロセッサ1906、1つもしくは複数のプロセッサ1910、デバイス1900、オーディオ特徴量データを分析するように構成された1つもしくは複数の他の回路もしくは構成要素、またはそれらの任意の組合せを含む。セグメンテーション結果236は、オーディオストリーム141の話者同質オーディオセグメントを示す。
【0150】
[0169] 本装置は、第1の話者同質オーディオセグメントの第1の複数のオーディオ特徴量データセットのうちの第1のオーディオ特徴量データセットが複数のユーザ発話プロファイルのいずれかに一致するかどうかを決定するために、複数のユーザ発話プロファイルと、第1のオーディオ特徴量データセットとの比較を実行するための手段をさらに含む。たとえば、比較を実行するための手段は、プロファイルマネージャ126、1つもしくは複数のプロセッサ220、デバイス202、
図2Aのシステム200、プロセッサ1906、1つもしくは複数のプロセッサ1910、デバイス1900、比較を実行するように構成された1つもしくは複数の他の回路もしくは構成要素、またはそれらの任意の組合せを含む。
【0151】
[0170] 本装置はまた、第1の複数のオーディオ特徴量データセットに基づいて、第1のユーザ発話プロファイルを生成するための手段を含む。たとえば、第1のユーザ発話プロファイルを生成するための手段は、プロファイルマネージャ126、1つもしくは複数のプロセッサ220、デバイス202、
図2Aのシステム200、プロセッサ1906、1つもしくは複数のプロセッサ1910、デバイス1900、第1のユーザ発話プロファイルを生成するように構成された1つもしくは複数の他の回路もしくは構成要素、またはそれらの任意の組合せを含む。ユーザ発話プロファイル150Aは、オーディオ特徴量データセット252が複数のユーザ発話プロファイル150のいずれにも一致しないと決定したことに基づいて生成される。
【0152】
[0171] 本装置は、第1のユーザ発話プロファイルを複数のユーザ発話プロファイルに追加するための手段をさらに含む。たとえば、第1のユーザ発話プロファイルを追加するための手段は、プロファイルマネージャ126、1つもしくは複数のプロセッサ220、デバイス202、
図2Aのシステム200、プロセッサ1906、1つもしくは複数のプロセッサ1910、デバイス1900、第1のユーザ発話プロファイルを追加するように構成された1つもしくは複数の他の回路もしくは構成要素、またはそれらの任意の組合せを含む。
【0153】
[0172] いくつかの実装形態では、非一時的コンピュータ可読媒体(たとえば、メモリ1986などのコンピュータ可読記憶デバイス)は、1つまたは複数のプロセッサ(たとえば、1つもしくは複数のプロセッサ1910またはプロセッサ1906)によって実行されたとき、1つまたは複数のプロセッサに、第1の電力モード(たとえば、電力モード282)で、オーディオストリーム(たとえば、オーディオストリーム141)が少なくとも2人の異なる話者の発話に対応するかどうかを決定することを行わせる命令(たとえば、命令1956)を含む。命令はまた、1つまたは複数のプロセッサによって実行されたとき、プロセッサに、セグメンテーション結果(たとえば、セグメンテーション結果236)を生成するためにオーディオストリームのオーディオ特徴量データ(たとえば、オーディオ特徴量データセット252)を分析することを行わせる。セグメンテーション結果は、オーディオストリームの話者同質オーディオセグメント(たとえば、話者同質オーディオセグメント111Aおよび話者同質オーディオセグメント111B)を示す。命令はまた、1つまたは複数のプロセッサによって実行されたとき、プロセッサに、第1の話者同質オーディオセグメント(たとえば、話者同質オーディオセグメント111A)の第1の複数のオーディオ特徴量データセット(たとえば、オーディオ特徴量データセット252A)のうちの第1のオーディオ特徴量データセット(たとえば、オーディオ特徴量データセット252)が複数のユーザ発話プロファイルのいずれかに一致するかどうかを決定するために、複数のユーザ発話プロファイル(たとえば、複数のユーザ発話プロファイル150)と、第1のオーディオ特徴量データセットとの比較を実行することを行わせる。命令はさらに、1つまたは複数のプロセッサによって実行されたとき、プロセッサに、第1のオーディオ特徴量データセットが複数のユーザ発話プロファイルのいずれにも一致しないと決定したことに基づき、第1の複数のオーディオ特徴量データセットに基づいて第1のユーザ発話プロファイル(たとえば、ユーザ発話プロファイル150A)を生成することと、第1のユーザ発話プロファイルを複数のユーザ発話プロファイルに追加することとを行わせる。
【0154】
[0173] 本開示の特定の態様が、相互に関係する条項の第1のセットにおいて以下で説明される。
【0155】
[0174] 条項1によれば、オーディオ分析のためのデバイスは、複数のユーザの複数のユーザ発話プロファイルを記憶するように構成されたメモリと、第1の電力モードで、オーディオストリームが少なくとも2人の異なる話者の発話に対応するかどうかを決定することと、オーディオストリームが少なくとも2人の異なる話者の発話に対応すると決定したことに基づいて、第2の電力モードで、オーディオストリームの話者同質オーディオセグメントを示すセグメンテーション結果を生成するためにオーディオストリームのオーディオ特徴量データを分析することと、第1の話者同質オーディオセグメントの第1の複数のオーディオ特徴量データセットのうちの第1のオーディオ特徴量データセットが複数のユーザ発話プロファイルのいずれかに一致するかどうかを決定するために、複数のユーザ発話プロファイルと、第1のオーディオ特徴量データセットとの比較を実行することと、第1のオーディオ特徴量データセットが複数のユーザ発話プロファイルのいずれにも一致しないと決定したことに基づき、第1の複数のオーディオ特徴量データセットに基づいて第1のユーザ発話プロファイルを生成することと、第1のユーザ発話プロファイルを複数のユーザ発話プロファイルに追加することとを行うように構成された1つまたは複数のプロセッサとを備える。
【0156】
[0175] 条項2は、第1のオーディオ特徴量データセットが第1のオーディオ特徴量ベクトル(first audio feature vector)を含む、条項1に記載のデバイスを含む。
【0157】
[0176] 条項3は、1つまたは複数のプロセッサが、話者セグメンテーションニューラルネットワークをオーディオ特徴量データに適用することによって、オーディオ特徴量データを分析するように構成される、条項1または条項2に記載のデバイスを含む。
【0158】
[0177] 条項4は、第1のオーディオ特徴量データセットが第1の話者の発話に対応することと、第1のオーディオ特徴量データセットが複数のユーザ発話プロファイルのいずれにも一致しないこととをセグメンテーション結果が示すと決定したことに基づいて、1つまたは複数のプロセッサが、第1の話者に関連付けられた第1の登録バッファ(first enrollment buffer)に第1のオーディオ特徴量データセットを記憶することと、停止条件が満たされるまで、第1の話者の発話に対応する後続のオーディオ特徴量データセットを第1の登録バッファに記憶することを行うように構成され、ここにおいて、第1の話者同質オーディオセグメントの第1の複数のオーディオ特徴量データセットが、第1のオーディオ特徴量データセットと後続のオーディオ特徴量データセットとを含む、条項1から条項3のいずれかに記載のデバイスを含む。
【0159】
[0178] 条項5は、1つまたは複数のプロセッサが、しきい値よりも長い無音がオーディオストリーム中で検出されたと決定したことに応答して、停止条件が満たされたと決定するように構成される、条項4に記載のデバイスを含む。
【0160】
[0179] 条項6は、1つまたは複数のプロセッサが、特定のオーディオ特徴量データセットが単一の話者の発話に対応すると決定したことに少なくとも部分的に基づいて、特定のオーディオ特徴量データセット(particular audio feature data set)を第1の登録バッファに追加するように構成され、ここにおいて、単一の話者は第1の話者を含む、条項4または5に記載のデバイスを含む。
【0161】
[0180] 条項7は、1つまたは複数のプロセッサが、第1の登録バッファに記憶された第1の話者同質オーディオセグメントの第1の複数のオーディオ特徴量データセットのカウントが登録しきい値よりも大きいと決定したことに基づき、第1の複数のオーディオ特徴量データセットに基づいて第1のユーザ発話プロファイルを生成するように構成される、条項1から6のいずれかに記載のデバイスを含む。
【0162】
[0181] 条項8は、1つまたは複数のプロセッサが、第1のオーディオ特徴量データセットが特定のユーザ発話プロファイルに一致すると決定したことに基づき、第1のオーディオ特徴量データセットに基づいて特定のユーザ発話プロファイルを更新するように構成される、条項1から7のいずれかに記載のデバイスを含む。
【0163】
[0182] 条項9は、1つまたは複数のプロセッサが、第1のオーディオ特徴量データセットが単一の話者の発話に対応すると決定したことに少なくとも部分的に基づき、第1のオーディオ特徴量データセットに基づいて特定のユーザ発話プロファイルを更新するように構成される、条項8に記載のデバイスを含む。
【0164】
[0183] 条項10は、1つまたは複数のプロセッサが、第2の話者同質オーディオセグメントの第2の複数のオーディオ特徴量データセットのうちの第2のオーディオ特徴量データセットが複数のユーザ発話プロファイルのいずれかに一致するかどうかを決定するように構成される、条項1から9のいずれかに記載のデバイスを含む。
【0165】
[0184] 条項11は、1つまたは複数のプロセッサが、第2のオーディオ特徴量データセットが複数のユーザ発話プロファイルのいずれにも一致しないと決定したことに基づき、第2の複数のオーディオ特徴量データセットに基づいて第2のユーザ発話プロファイル(second user speech profile)を生成することと、第2のユーザ発話プロファイルを複数のユーザ発話プロファイルに追加することとを行うように構成される、条項10に記載のデバイスを含む。
【0166】
[0185] 条項12は、1つまたは複数のプロセッサが、第2のオーディオ特徴量データセットが複数のユーザ発話プロファイルのうちの特定のユーザ発話プロファイルに一致すると決定したことに基づき、第2のオーディオ特徴量データセットに基づいて特定のユーザ発話プロファイルを更新するように構成される、条項10に記載のデバイスを含む。
【0167】
[0186] 条項13は、メモリが、プロファイル更新データを記憶するように構成され、1つまたは複数のプロセッサが、第1のユーザ発話プロファイルを生成したことに応答して、第1のユーザ発話プロファイルが更新されたことを示すためにプロファイル更新データを更新することと、複数のユーザ発話プロファイルの第1のカウントが更新されたことをプロファイル更新データが示すと決定したことに基づいて、オーディオストリーム中で検出された話者のカウントとして第1のカウントを出力することとを行うように構成される、条項1から12のいずれかに記載のデバイスを含む。
【0168】
[0187] 条項14は、メモリが、ユーザ対話データを記憶するように構成され、1つまたは複数のプロセッサが、第1のユーザ発話プロファイルを生成したことに応答して、第1のユーザ発話プロファイルに関連付けられた第1のユーザ(first user)が発話持続時間にわたって対話したことを示すために、第1の話者同質オーディオセグメントの発話持続時間に基づいてユーザ対話データを更新することと、少なくともユーザ対話データを出力することとを行うように構成される、条項1から13のいずれかに記載のデバイスを含む。
【0169】
[0188] 条項15は、第1の電力モードが、第2の電力モードと比較してより低い電力モードである、条項1から14のいずれかに記載のデバイスを含む。
【0170】
[0189] 条項16は、1つまたは複数のプロセッサが、第1の電力モードで、オーディオストリームのオーディオ情報を決定することと、オーディオ情報は、オーディオストリーム中で検出された話者のカウント、ボイスアクティビティ検出(VAD)情報、またはその両方を含む、第2の電力モードで1つまたは複数のオーディオ分析アプリケーションをアクティブ化することと、1つまたは複数のオーディオ分析アプリケーションにオーディオ情報を提供することとを行うように構成される、条項1に記載のデバイスを含む。
【0171】
[0190] 条項17は、1つまたは複数のプロセッサが、セグメンテーション結果が、オーディオストリームの1つまたは複数の第2のオーディオセグメント(second audio segment)が複数の話者に対応することを示すと決定したことに応答して、1つまたは複数の第2のオーディオセグメントに基づいて複数のユーザ発話プロファイルを更新することを控えるように構成される、条項1から16のいずれかに記載のデバイスを含む。
【0172】
[0191] 本開示の特定の態様が、相互に関係する条項の第2のセットにおいて以下で説明される。
【0173】
[0192] 第18項によれば、オーディオ分析の方法は、デバイスにおいて、第1の電力モードで、オーディオストリームが少なくとも2人の異なる話者の発話に対応するかどうかを決定することと、オーディオストリームが少なくとも2人の異なる話者の発話に対応すると決定したことに基づいて、第2の電力モードで、セグメンテーション結果を生成するためにオーディオストリームのオーディオ特徴量データを分析することと、セグメンテーション結果はオーディオストリームの話者同質オーディオセグメントを示す、デバイスにおいて、第1の話者同質オーディオセグメントの第1の複数のオーディオ特徴量データセットのうちの第1のオーディオ特徴量データセットが複数のユーザ発話プロファイルのいずれかに一致するかどうかを決定するために、複数のユーザ発話プロファイルと、第1のオーディオ特徴量データセットとの比較を実行することと、第1のオーディオ特徴量データセットが複数のユーザ発話プロファイルのいずれにも一致しないと決定したことに基づき、デバイスにおいて、第1の複数のオーディオ特徴量データセットに基づいて第1のユーザ発話プロファイルを生成することと、デバイスにおいて、第1のユーザ発話プロファイルを複数のユーザ発話プロファイルに追加することとを備える。
【0174】
[0193] 条項19は、条項18に記載の方法を含み、話者セグメンテーションニューラルネットワークをオーディオ特徴量データに適用することをさらに備える。
【0175】
[0194] 条項20は、条項18または19に記載の方法を含み、第1のオーディオ特徴量データセットが第1の話者の発話に対応することと、第1のオーディオ特徴量データセットが複数のユーザ発話プロファイルのいずれにも一致しないこととをセグメンテーション結果が示すと決定したことに基づいて、第1の話者に関連付けられた第1の登録バッファ中に第1のオーディオ特徴量データセットを記憶することと、停止条件が満たされるまで、第1の話者の発話に対応する後続のオーディオ特徴量データセットを第1の登録バッファ中に記憶することとをさらに備え、ここにおいて、第1の話者同質オーディオセグメントの第1の複数のオーディオ特徴量データセットが、第1のオーディオ特徴量データセットと後続のオーディオ特徴量データセットとを含む。
【0176】
[0195] 条項21は、条項20に記載の方法を含み、デバイスにおいて、しきい値よりも長い無音がオーディオストリーム中で検出されたと決定したことに応答して、停止条件が満たされたと決定することをさらに備える。
【0177】
[0196] 条項22は、条項20または条項21に記載の方法を含み、デバイスにおいて、特定のオーディオ特徴量データセットが単一の話者の発話に対応すると決定したことに少なくとも部分的に基づいて、特定のオーディオ特徴量データセットを第1の登録バッファに追加することをさらに備え、ここにおいて、単一の話者は第1の話者を含む。
【0178】
[0197] 条項23は、条項18から22のいずれかに記載の方法を含み、第1の登録バッファに記憶された第1の話者同質オーディオセグメントの第1の複数のオーディオ特徴量データセットのカウントが登録しきい値よりも大きいと決定したことに基づき、第1の複数のオーディオ特徴量データセットに基づいて第1のユーザ発話プロファイルを生成することをさらに備える。
【0179】
[0198] 条項24は、条項18から23のいずれかに記載の方法を含み、第1のオーディオ特徴量データセットが特定のユーザ発話プロファイルに一致すると決定したことに基づき、第1のオーディオ特徴量データセットに基づいて特定のユーザ発話プロファイルを更新することをさらに備える。
【0180】
[0199] 条項25は、条項24に記載の方法を含み、第1のオーディオ特徴量データセットが単一の話者の発話に対応すると決定したことに少なくとも部分的に基づき、第1のオーディオ特徴量データセットに基づいて特定のユーザ発話プロファイルを更新することをさらに備える。
【0181】
[0200] 条項26は、条項18から25のいずれかに記載の方法を含み、第2の話者同質オーディオセグメントの第2の複数のオーディオ特徴量データセットのうちの第2のオーディオ特徴量データセットが複数のユーザ発話プロファイルのうちの特定のユーザ発話プロファイルに一致すると決定したことに基づき、第2のオーディオ特徴量データセットに基づいて特定のユーザ発話プロファイルを更新することをさらに備える。
【0182】
[0201] 本開示の特定の態様が、相互に関係する条項の第3のセットにおいて以下で説明される。
【0183】
[0202] 条項27によれば、非一時的コンピュータ可読記憶媒体(non-transitory computer-readable storage medium)は、1つまたは複数のプロセッサによって実行されたとき、プロセッサに、第1の電力モードで、オーディオストリームが少なくとも2人の異なる話者の発話に対応するかどうかを決定することと、オーディオストリームが少なくとも2人の異なる話者の発話に対応すると決定したことに基づいて、第2の電力モードで、オーディオストリームの話者同質オーディオセグメントを示すセグメンテーション結果を生成するために、オーディオストリームのオーディオ特徴量データを分析することと、第1の話者同質オーディオセグメントの第1の複数のオーディオ特徴量データセットのうちの第1のオーディオ特徴量データセットが複数のユーザ発話プロファイルのいずれかに一致するかどうかを決定するために、複数のユーザ発話プロファイルと、第1のオーディオ特徴量データセットとの比較を実行することと、第1のオーディオ特徴量データセットが複数のユーザ発話プロファイルのいずれにも一致しないと決定したことに基づき、第1の複数のオーディオ特徴量データセットに基づいて第1のユーザ発話プロファイルを生成することと、第1のユーザ発話プロファイルを複数のユーザ発話プロファイルに追加することとを行わせる命令を記憶する。
【0184】
[0203] 条項28は、条項27に記載の非一時的コンピュータ可読記憶媒体を含み、命令は、1つまたは複数のプロセッサによって実行されたとき、プロセッサに、第1の登録バッファに記憶された第1の話者同質オーディオセグメントの第1の複数のオーディオ特徴量データセットのカウントが登録しきい値よりも大きいと決定したことに基づき、第1の複数のオーディオ特徴量データセットに基づいて第1のユーザ発話プロファイルを生成することを行わせる。
【0185】
[0204] 本開示の特定の態様が、相互に関係する条項の第4のセットにおいて以下で説明される。
【0186】
[0205] 条項29によれば、装置は、複数のユーザの複数のユーザ発話プロファイルを記憶するための手段と、第1の電力モードで、オーディオストリームが少なくとも2人の異なる話者の発話に対応するかどうかを決定するための手段と、第2の電力モードで、セグメンテーション結果を生成するためにオーディオストリームのオーディオ特徴量データを分析するための手段と、オーディオ特徴量データは、オーディオストリームが少なくとも2人の異なる話者の発話に対応すると決定したことに基づいて第2の電力モードで分析され、ここにおいて、セグメンテーション結果は、オーディオストリームの話者同質オーディオセグメントを示す、第1の話者同質オーディオセグメントの第1の複数のオーディオ特徴量データセットのうちの第1のオーディオ特徴量データセットが複数のユーザ発話プロファイルのいずれかに一致するかどうかを決定するために、複数のユーザ発話プロファイルと、第1のオーディオ特徴量データセットとの比較を実行するための手段と、第1の複数のオーディオ特徴量データセットに基づいて第1のユーザ発話プロファイルを生成するための手段と、第1のユーザ発話プロファイルは、第1のオーディオ特徴量データセットが複数のユーザ発話プロファイルのいずれにも一致しないと決定したことに基づいて生成される、第1のユーザ発話プロファイルを複数のユーザ発話プロファイルに追加するための手段とを備える。
【0187】
[0206] 条項30は、記憶するための手段、決定するための手段、分析するための手段、実行するための手段、生成するための手段、および追加するための手段が、モバイル通信デバイス、スマートフォン、セルラーフォン、スマートスピーカー、スピーカーバー、ラップトップコンピュータ、コンピュータ、タブレット、携帯情報端末、ディスプレイデバイス、テレビ、ゲームコンソール、音楽プレーヤ、ラジオ、デジタルビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、チューナー、カメラ、ナビゲーションデバイス、ビークル、ヘッドセット、拡張現実ヘッドセット、仮想現実ヘッドセット、航空機、ホームオートメーションシステム、音声起動デバイス、ワイヤレススピーカーおよび音声起動デバイス、ポータブル電子デバイス、自動車、コンピューティングデバイス、通信デバイス、モノのインターネット(IoT)デバイス、仮想現実(VR)デバイス、基地局、モバイルデバイス、またはそれらの任意の組合せのうちの少なくとも1つに統合される、条項29に記載の装置を含む。
【0188】
[0207] さらに、本明細書で開示される実装形態に関して説明される様々な例示的な論理ブロック、構成、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、プロセッサによって実行されるコンピュータソフトウェア、またはその両方の組合せとして実装され得ることを当業者は理解するだろう。様々な例示的な構成要素、ブロック、構成、モジュール、回路、およびステップが、上では全般に、それらの機能に関して説明された。そのような機能がハードウェアとして実装されるか、またはプロセッサ実行可能命令として実装されるかは、具体的な適用例および全体的なシステムに課された設計制約に依存する。当業者は、説明された機能を、具体的な適用例ごとに様々な方法で実装することができるが、そのような実装の決定は、本開示の範囲からの逸脱を引き起こすと解釈されるべきではない。
【0189】
[0208] 本明細書で開示された実装形態に関して説明された方法またはアルゴリズムのステップは、直接ハードウェアで具現化されるか、プロセッサによって実行されるソフトウェアモジュールで具現化されるか、またはその2つの組合せで具現化され得る。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気的消去可能プログラマブル読取り専用メモリ(EEPROM(登録商標))、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスク読取り専用メモリ(CD-ROM)、または当技術分野で知られている任意の他の形態の非一時的記憶媒体中に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替的に、記憶媒体はプロセッサと一体であり得る。プロセッサと記憶媒体とは、特定用途向け集積回路(ASIC)中に存在し得る。ASICは、コンピューティングデバイスまたはユーザ端末中に存在し得る。代替的に、プロセッサおよび記憶媒体は、コンピューティングデバイスまたはユーザ端末内の個別の構成要素として存在し得る。
【0190】
[0209] 開示される態様の上記の説明は、開示される態様を当業者が作成または使用することを可能にするために与えられた。これらの態様への様々な修正が当業者には容易に明らかになり、本明細書で定義された原理が、本開示の範囲から逸脱することなく他の態様に適用され得る。したがって、本開示は、本明細書に示された態様に限定されることを意図されておらず、以下の特許請求の範囲によって定義されるような原理および新規な特徴に一致する可能な最も広い範囲を与えられるべきである。
【国際調査報告】