IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

特許7568851通話およびオーディオメッセージからのその他の話者の音声フィルタリング
<>
  • 特許-通話およびオーディオメッセージからのその他の話者の音声フィルタリング 図1A
  • 特許-通話およびオーディオメッセージからのその他の話者の音声フィルタリング 図1B
  • 特許-通話およびオーディオメッセージからのその他の話者の音声フィルタリング 図2
  • 特許-通話およびオーディオメッセージからのその他の話者の音声フィルタリング 図3
  • 特許-通話およびオーディオメッセージからのその他の話者の音声フィルタリング 図4
  • 特許-通話およびオーディオメッセージからのその他の話者の音声フィルタリング 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-07
(45)【発行日】2024-10-16
(54)【発明の名称】通話およびオーディオメッセージからのその他の話者の音声フィルタリング
(51)【国際特許分類】
   G10L 15/20 20060101AFI20241008BHJP
   G10L 15/10 20060101ALI20241008BHJP
   G10L 15/28 20130101ALI20241008BHJP
   G10L 15/24 20130101ALI20241008BHJP
【FI】
G10L15/20 370D
G10L15/10 500T
G10L15/10 500Z
G10L15/28 230K
G10L15/24 Q
【請求項の数】 30
(21)【出願番号】P 2023526417
(86)(22)【出願日】2021-10-26
(65)【公表番号】
(43)【公表日】2023-11-15
(86)【国際出願番号】 US2021056718
(87)【国際公開番号】W WO2022093872
(87)【国際公開日】2022-05-05
【審査請求日】2023-06-23
(31)【優先権主張番号】17/086,296
(32)【優先日】2020-10-30
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】マシュー・シャリフィ
(72)【発明者】
【氏名】ヴィクター・カルブネ
【審査官】土井 悠生
(56)【参考文献】
【文献】特表2020-527739(JP,A)
【文献】特開2019-148780(JP,A)
【文献】米国特許第10440324(US,B1)
【文献】特開2011-170261(JP,A)
【文献】米国特許出願公開第2018/0061404(US,A1)
【文献】特開2011-118124(JP,A)
【文献】特開平8-163255(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 13/00-99/00
(57)【特許請求の範囲】
【請求項1】
データ処理ハードウェア(10)において、アシスタント対応デバイス(104)のユーザ(102)と受信者(103)との間のオーディオベースの通信を促進するための前記アシスタント対応デバイス(104)の音声コマンド(118)に対応する生オーディオデータ(301)の第1のインスタンスを受け取るステップであって、前記音声コマンド(118)が、前記ユーザ(102)によって話され、前記アシスタント対応デバイス(104)によってキャプチャされる、ステップと、
前記データ処理ハードウェア(10)において、前記ユーザ(102)によって話され、前記アシスタント対応デバイス(104)によってキャプチャされた前記オーディオベースの通信の可聴の内容(126、178)の発話に対応する前記生オーディオデータ(301)の第2のインスタンスを受け取るステップであって、前記生オーディオデータ(301)の前記第2のインスタンスが、前記ユーザ(102)によって話されていない1つまたは複数の追加的な音をキャプチャする、ステップと、
前記データ処理ハードウェア(10)によって、前記生オーディオデータ(301)の前記第1のインスタンスに基づいて、前記オーディオベースの通信内の少なくとも前記ユーザ(102)の声に関する音声フィルタリングをアクティブ化するかどうかを判定するために音声フィルタリング認識ルーチン(200)を実行するステップであって、前記音声フィルタリング認識ルーチンは、前記オーディオベースの通信に関連する文脈入力に基づいて実行され、前記文脈入力が、前記受信者を特定する情報、前記アシスタント対応デバイスの種類、前記アシスタント対応デバイスの環境、前記アシスタント対応デバイスの環境の背景雑音レベル、前記アシスタント対応デバイスの画像キャプチャデバイスにより取得される画像データのうちの少なくとも1つを含む、ステップと、
前記音声フィルタリング認識ルーチン(200)が、少なくとも前記ユーザ(102)の前記声に関する音声フィルタリングをアクティブ化すると決定するとき、
前記データ処理ハードウェア(10)によって、前記ユーザ(102)の声の特性を表す前記ユーザ(102)のそれぞれの話者埋め込み(318)を取得するステップと、
前記ユーザ(102)によって話された前記可聴の内容(126、178)の前記発話を分離し、前記ユーザ(102)によって話されていない前記1つまたは複数の追加的な音の少なくとも一部を除外する、前記オーディオベースの通信に関する改良されたオーディオデータ(152)を生成するために、前記データ処理ハードウェア(10)によって、前記ユーザ(102)の前記それぞれの話者埋め込み(318)を使用して、前記生オーディオデータ(301)の前記第2のインスタンスを処理するステップと、
前記データ処理ハードウェア(10)によって、前記改良されたオーディオデータ(152)を前記受信者(103)に関連する受信者デバイス(105)に送信するステップであって、前記改良されたオーディオデータ(152)が、前記受信者デバイス(105)によって受信されるとき、前記受信者デバイス(105)に、前記ユーザ(102)によって話された前記可聴の内容(126、178)の前記発話を聞こえるように出力させる、ステップとを含む、方法(400)。
【請求項2】
スピーチ認識結果(212)を生成するために、前記データ処理ハードウェア(10)によって、スピーチ認識器(116)を使用して、前記生オーディオデータ(301)の前記第1のインスタンスを処理するステップと、
前記生オーディオデータ(301)の前記第1のインスタンスが、前記ユーザ(102)と前記受信者(103)との間の前記オーディオベースの通信を促進するための前記音声コマンド(118)を含むと判定するために、前記データ処理ハードウェア(10)によって、前記生オーディオデータ(301)の前記第1のインスタンスに関する前記スピーチ認識結果(212)に対して意味解釈を実行するステップとをさらに含む、請求項1に記載の方法(400)。
【請求項3】
前記オーディオベースの通信内の少なくとも前記ユーザ(102)の前記声に関する音声フィルタリングをアクティブ化するかどうかを判定するために前記音声フィルタリング認識ルーチン(200)を実行するステップが、
前記生オーディオデータ(301)の前記第1のインスタンスに関する前記スピーチ認識結果(212)に対して実行された前記意味解釈に基づいて、前記オーディオベースの通信の前記受信者(103)を特定することと、
前記オーディオベースの通信の前記特定された受信者(103)が、前記オーディオベースの通信内の少なくとも前記ユーザ(102)の前記声に関する前記音声フィルタリングをアクティブ化することが適切であることを示す特定の受信者タイプを含むかどうかを判定することと、
前記オーディオベースの通信の前記特定された受信者(103)が前記特定の受信者タイプを含むとき、少なくとも前記ユーザ(102)の前記声に関する音声フィルタリングをアクティブ化すると決定することとを含む、請求項2に記載の方法(400)。
【請求項4】
前記受信者タイプが、企業を含む、請求項3に記載の方法(400)。
【請求項5】
前記オーディオベースの通信内の少なくとも前記ユーザ(102)の前記声に関する音声フィルタリングをアクティブ化するかどうかを判定するために前記音声フィルタリング認識ルーチン(200)を実行するステップが、
前記生オーディオデータ(301)の前記第1のインスタンスに関する前記スピーチ認識結果(212)に対して実行された前記意味解釈に基づいて、前記音声コマンド(118)が、少なくとも前記ユーザ(102)の前記声に関する音声フィルタリングをアクティブ化するための明示的な命令を含むかどうかを判定することと、
前記音声コマンド(118)が少なくとも前記ユーザ(102)の前記声に関する音声フィルタリングをアクティブ化するための前記明示的な命令を含むとき、少なくとも前記ユーザ(102)の前記声に関する音声フィルタリングをアクティブ化すると決定することとを含む、請求項2から4のいずれか一項に記載の方法(400)。
【請求項6】
前記音声フィルタリング認識ルーチン(200)を実行するステップが、前記音声コマンド(118)が前記ユーザ(102)および別の個人(107)の声に関する音声フィルタリングをアクティブ化するための明示的な命令を含むと判定するとき、
前記別の個人(107)に関して、前記データ処理ハードウェア(10)によって、前記別の個人(107)の声の特性を表すそれぞれの話者埋め込み(318)を取得するステップをさらに含み、
前記ユーザ(102)によって話されていない、生オーディオ信号の前記第2のインスタンスによってキャプチャされた前記1つまたは複数の追加的な音が、前記別の個人(107)によって話された前記オーディオベースの通信の可聴の内容(126、178)の追加的な発話(180)と、前記ユーザ(102)または前記別の個人(107)のいずれによっても話されていない背景雑音(128、179)とを含み、
前記改良されたオーディオデータ(152)を生成するために前記生オーディオデータ(301)の前記第2のインスタンスを処理するステップが、前記可聴の内容(126、178)の前記発話および前記追加的な発話(180)を分離し、前記背景雑音(128、179)を除外する前記オーディオベースの通信に関する前記改良されたオーディオデータ(152)を生成するために、前記ユーザ(102)および前記別の個人(107)に関する前記それぞれの話者埋め込み(318)を使用して、前記生オーディオデータ(301)の前記第2のインスタンスを処理することを含む、請求項5に記載の方法(400)。
【請求項7】
前記生オーディオデータ(301)の前記第1のインスタンスが、前記オーディオベースの通信を促進するための前記アシスタント対応デバイス(104)の前記音声コマンド(118)に先立つプリアンブルオーディオおよびホットワード(110、160)を含み、
前記オーディオベースの通信内の少なくとも前記ユーザ(102)の前記声に関する音声フィルタリングをアクティブ化するかどうかを判定するために前記音声フィルタリング認識ルーチン(200)を実行するステップが、
前記アシスタント対応デバイス(104)の前記環境の前記背景雑音レベルを決定するために、前記プリアンブルオーディオおよび/または前記ホットワード(110、160)から音声的特徴を抽出することと、
前記アシスタント対応デバイス(104)の前記環境の前記背景雑音レベルに基づいて、前記オーディオベースの通信内の少なくとも前記ユーザ(102)の前記声に関する音声フィルタリングをアクティブ化すると決定することとを含む、請求項1から6のいずれか一項に記載の方法(400)。
【請求項8】
前記データ処理ハードウェア(10)によって、前記アシスタント対応デバイス(104)の前記種類を決定するステップをさらに含み、
少なくとも前記ユーザ(102)の前記声に関する音声フィルタリングをアクティブ化するかどうかを判定するために前記音声フィルタリング認識ルーチン(200)を実行するステップが、前記アシスタント対応デバイス(104)の前記種類にさらに基づく、請求項1から7のいずれか一項に記載の方法(400)。
【請求項9】
前記データ処理ハードウェア(10)によって、前記アシスタント対応デバイス(104)が置かれている前記環境を決定するステップをさらに含み、
少なくとも前記ユーザ(102)の前記声に関する音声フィルタリングをアクティブ化するかどうかを判定するために前記音声フィルタリング認識ルーチン(200)を実行するステップが、前記アシスタント対応デバイス(104)が置かれている前記環境にさらに基づく、請求項1から8のいずれか一項に記載の方法(400)。
【請求項10】
前記アシスタント対応デバイス(104)によって促進される前記オーディオベースの通信がビデオ通話(150)を含むとき、
前記データ処理ハードウェア(10)において、前記アシスタント対応デバイス(104)の前記画像キャプチャデバイス(18)から、少なくとも前記ユーザ(102)が前記ビデオ通話(150)に参加していることを示す画像データ(20)を受信するステップをさらに含み、
少なくとも前記ユーザ(102)の前記声に関する音声フィルタリングをアクティブ化するかどうかを判定するために前記音声フィルタリング認識ルーチン(200)を実行するステップが、少なくとも前記ユーザ(102)が前記ビデオ通話(150)に参加していることを示す前記画像データ(20)にさらに基づく、請求項1から9のいずれか一項に記載の方法(400)。
【請求項11】
前記音声フィルタリング認識ルーチン(200)を実行するステップが、前記ユーザ(102)および少なくとも1人のその他の個人(107)が前記ビデオ通話(150)に参加していることを示す前記画像データ(20)に基づいて、前記ユーザ(102)および前記少なくとも1人のその他の個人(107)の声に関する音声フィルタリングをアクティブ化すると決定するとき、
前記少なくとも1人のその他の個人(107)に関して、前記データ処理ハードウェア(10)によって、前記少なくとも1人のその他の個人(107)の声の特性を表すそれぞれの話者埋め込み(318)を取得するステップをさらに含み、
前記ユーザ(102)によって話されていない、生オーディオ信号の前記第2のインスタンスによってキャプチャされた前記1つまたは複数の追加的な音が、前記少なくとも1人のその他の個人(107)によって話された前記ビデオ通話(150)の可聴の内容(126、178)の追加的な発話(180)と、前記ユーザ(102)または前記少なくとも1人のその他の個人(107)のいずれによっても話されていない背景雑音(128、179)とを含み、
前記改良されたオーディオデータ(152)を生成するために前記生オーディオデータ(301)の前記第2のインスタンスを処理するステップが、前記可聴の内容(126、178)の前記発話および前記追加的な発話(180)を分離し、前記背景雑音(128、179)を除外する前記ビデオ通話(150)に関する前記改良されたオーディオデータ(152)を生成するために、前記ユーザ(102)および前記少なくとも1人のその他の個人(107)に関する前記それぞれの話者埋め込み(318)を使用して、前記生オーディオデータ(301)の前記第2のインスタンスを処理することを含む、請求項10に記載の方法(400)。
【請求項12】
前記オーディオベースの通信の前記可聴の内容(126、178)に関するスピーチ認識結果(212)を生成するために、前記データ処理ハードウェア(10)によって、スピーチ認識器(116)を使用して、前記生オーディオデータ(301)の前記第2のインスタンスを処理するステップと、
前記データ処理ハードウェア(10)によって、前記オーディオベースの通信の前記可聴の内容(126、178)に関する前記スピーチ認識結果(212)に対して意味解釈を実行するステップとをさらに含み、
少なくとも前記ユーザ(102)の前記声に関する音声フィルタリングをアクティブ化するかどうかを判定するために前記音声フィルタリング認識ルーチン(200)を実行するステップが、前記オーディオベースの通信の前記可聴の内容(126、178)に関する前記スピーチ認識結果(212)に対して実行された前記意味解釈にさらに基づく、請求項1から11のいずれか一項に記載の方法(400)。
【請求項13】
前記音声フィルタリング認識ルーチン(200)を実行するステップが、前記可聴の内容(126、178)が前記ユーザ(102)と前記受信者(103)との間の前記オーディオベースの通信に参加している少なくとも1人のその他の個人(107)を特定することを示す、前記可聴の内容(126、178)に関する前記スピーチ認識結果(212)に対して実行された前記意味解釈に基づいて、前記ユーザ(102)および少なくとも1人のその他の個人(107)の声に関する音声フィルタリングをアクティブ化すると決定するとき、
前記少なくとも1人のその他の個人(107)に関して、前記データ処理ハードウェア(10)によって、前記少なくとも1人のその他の個人(107)の声の特性を表すそれぞれの話者埋め込み(318)を取得するステップをさらに含み、
前記ユーザ(102)によって話されていない、生オーディオ信号の前記第2のインスタンスによってキャプチャされた前記1つまたは複数の追加的な音が、前記少なくとも1人のその他の個人(107)によって話された前記オーディオベースの通信の可聴の内容(126、178)の追加的な発話(180)と、前記ユーザ(102)または前記少なくとも1人のその他の個人(107)のいずれによっても話されていない背景雑音(128、179)とを含み、
前記改良されたオーディオデータ(152)を生成するために前記生オーディオデータ(301)の前記第2のインスタンスを処理するステップが、前記可聴の内容(126、178)の前記発話および前記追加的な発話(180)を分離し、前記背景雑音(128、179)を除外する前記オーディオベースの通信に関する前記改良されたオーディオデータ(152)を生成するために、前記ユーザ(102)および前記少なくとも1人のその他の個人(107)に関する前記それぞれの話者埋め込み(318)を使用して、前記生オーディオデータ(301)の前記第2のインスタンスを処理することを含む、請求項12に記載の方法(400)。
【請求項14】
前記オーディオベースの通信が、オーディオ通話、電話、ビデオ通話(150)、オーディオメッセージ(150)、またはブロードキャストされたオーディオのうちの1つを含む、請求項1から13のいずれか一項に記載の方法(400)。
【請求項15】
前記データ処理ハードウェア(10)によって、前記データ処理ハードウェア(10)と通信するスクリーン上に表示されるグラフィカルユーザインターフェース(GUI)内に、
少なくとも前記ユーザ(102)の前記声に関して音声フィルタリングが現在アクティブ化されているか否かを示すグラフィカルなインジケータと、
少なくとも前記ユーザ(102)の前記声に関する音声フィルタリングをアクティブ化/非アクティブ化するためのコントロールとを表示するステップをさらに含む、請求項1から14のいずれか一項に記載の方法(400)。
【請求項16】
データ処理ハードウェア(10)と、
前記データ処理ハードウェア(10)と通信するメモリハードウェア(12)であって、前記データ処理ハードウェア(10)上で実行されるときに、前記データ処理ハードウェア(10)に、
アシスタント対応デバイス(104)のユーザ(102)と受信者(103)との間のオーディオベースの通信を促進するための前記アシスタント対応デバイス(104)の音声コマンド(118)に対応する生オーディオデータ(301)の第1のインスタンスを受け取る動作であって、前記音声コマンド(118)が、前記ユーザ(102)によって話され、前記アシスタント対応デバイス(104)によってキャプチャされる、動作、
前記ユーザ(102)によって話され、前記アシスタント対応デバイス(104)によってキャプチャされた前記オーディオベースの通信の可聴の内容(126、178)の発話に対応する前記生オーディオデータ(301)の第2のインスタンスを受け取る動作であって、前記生オーディオデータ(301)の前記第2のインスタンスが、前記ユーザ(102)によって話されていない1つまたは複数の追加的な音をキャプチャする、動作、
前記生オーディオデータ(301)の前記第1のインスタンスに基づいて、前記オーディオベースの通信内の少なくとも前記ユーザ(102)の声に関する音声フィルタリングをアクティブ化するかどうかを判定するために音声フィルタリング認識ルーチン(200)を実行する動作であって、前記音声フィルタリング認識ルーチンは、前記オーディオベースの通信に関連する文脈入力に基づいて実行され、前記文脈入力が、前記受信者を特定する情報、前記アシスタント対応デバイスの種類、前記アシスタント対応デバイスの環境、前記アシスタント対応デバイスの環境の背景雑音レベル、前記アシスタント対応デバイスの画像キャプチャデバイスにより取得される画像データのうちの少なくとも1つを含む、動作
前記音声フィルタリング認識ルーチン(200)が、少なくとも前記ユーザ(102)の前記声に関する音声フィルタリングをアクティブ化すると決定するとき、
前記ユーザ(102)の声の特性を表す前記ユーザ(102)のそれぞれの話者埋め込み(318)を取得する動作、および
前記ユーザ(102)によって話された前記可聴の内容(126、178)の前記発話を分離し、前記ユーザ(102)によって話されていない前記1つまたは複数の追加的な音の少なくとも一部を除外する、前記オーディオベースの通信に関する改良されたオーディオデータ(152)を生成するために、前記ユーザ(102)の前記それぞれの話者埋め込み(318)を使用して、前記生オーディオデータ(301)の前記第2のインスタンスを処理する動作、ならびに
前記改良されたオーディオデータ(152)を前記受信者(103)に関連する受信者デバイス(105)に送信する動作であって、前記改良されたオーディオデータ(152)が、前記受信者デバイス(105)によって受信されるとき、前記受信者デバイス(105)に、前記ユーザ(102)によって話された前記可聴の内容(126、178)の前記発話を聞こえるように出力させる、動作を含む動作を実行させる命令を記憶する、メモリハードウェア(12)とを含む、システム(100)。
【請求項17】
前記動作が、
スピーチ認識結果(212)を生成するために、スピーチ認識器(116)を使用して、前記生オーディオデータ(301)の前記第1のインスタンスを処理する動作と、
前記生オーディオデータ(301)の前記第1のインスタンスが、前記ユーザ(102)と前記受信者(103)との間の前記オーディオベースの通信を促進するための前記音声コマンド(118)を含むと判定するために、前記生オーディオデータ(301)の前記第1のインスタンスに関する前記スピーチ認識結果(212)に対して意味解釈を実行する動作とをさらに含む、請求項16に記載のシステム(100)。
【請求項18】
前記オーディオベースの通信内の少なくとも前記ユーザ(102)の前記声に関する音声フィルタリングをアクティブ化するかどうかを判定するために前記音声フィルタリング認識ルーチン(200)を実行する動作が、
前記生オーディオデータ(301)の前記第1のインスタンスに関する前記スピーチ認識結果(212)に対して実行された前記意味解釈に基づいて、前記オーディオベースの通信の前記受信者(103)を特定することと、
前記オーディオベースの通信の前記特定された受信者(103)が、前記オーディオベースの通信内の少なくとも前記ユーザ(102)の前記声に関する前記音声フィルタリングをアクティブ化することが適切であることを示す特定の受信者タイプを含むかどうかを判定することと、
前記オーディオベースの通信の前記特定された受信者(103)が前記特定の受信者タイプを含むとき、少なくとも前記ユーザ(102)の前記声に関する音声フィルタリングをアクティブ化すると決定することとを含む、請求項17に記載のシステム(100)。
【請求項19】
前記受信者タイプが、企業を含む、請求項18に記載のシステム(100)。
【請求項20】
前記オーディオベースの通信内の少なくとも前記ユーザ(102)の前記声に関する音声フィルタリングをアクティブ化するかどうかを判定するために前記音声フィルタリング認識ルーチン(200)を実行する動作が、
前記生オーディオデータ(301)の前記第1のインスタンスに関する前記スピーチ認識結果(212)に対して実行された前記意味解釈に基づいて、前記音声コマンド(118)が、少なくとも前記ユーザ(102)の前記声に関する音声フィルタリングをアクティブ化するための明示的な命令を含むかどうかを判定することと、
前記音声コマンド(118)が少なくとも前記ユーザ(102)の前記声に関する音声フィルタリングをアクティブ化するための前記明示的な命令を含むとき、少なくとも前記ユーザ(102)の前記声に関する音声フィルタリングをアクティブ化すると決定することとを含む、請求項17から19のいずれか一項に記載のシステム(100)。
【請求項21】
前記動作が、前記音声フィルタリング認識ルーチン(200)を実行する動作が、前記音声コマンド(118)が前記ユーザ(102)および別の個人(107)の声に関する音声フィルタリングをアクティブ化するための明示的な命令を含むと判定するとき、
前記別の個人(107)に関して、前記別の個人(107)の声の特性を表すそれぞれの話者埋め込み(318)を取得する動作をさらに含み、
前記ユーザ(102)によって話されていない、生オーディオ信号の前記第2のインスタンスによってキャプチャされた前記1つまたは複数の追加的な音が、前記別の個人(107)によって話された前記オーディオベースの通信の可聴の内容(126、178)の追加的な発話(180)と、前記ユーザ(102)または前記別の個人(107)のいずれによっても話されていない背景雑音(128、179)とを含み、
前記改良されたオーディオデータ(152)を生成するために前記生オーディオデータ(301)の前記第2のインスタンスを処理する動作が、前記可聴の内容(126、178)の前記発話および前記追加的な発話(180)を分離し、前記背景雑音(128、179)を除外する前記オーディオベースの通信に関する前記改良されたオーディオデータ(152)を生成するために、前記ユーザ(102)および前記別の個人(107)に関する前記それぞれの話者埋め込み(318)を使用して、前記生オーディオデータ(301)の前記第2のインスタンスを処理することを含む、請求項20に記載のシステム(100)。
【請求項22】
前記生オーディオデータ(301)の前記第1のインスタンスが、前記オーディオベースの通信を促進するための前記アシスタント対応デバイス(104)の前記音声コマンド(118)に先立つプリアンブルオーディオおよびホットワード(110、160)を含み、
前記オーディオベースの通信内の少なくとも前記ユーザ(102)の前記声に関する音声フィルタリングをアクティブ化するかどうかを判定するために前記音声フィルタリング認識ルーチン(200)を実行する動作が、
前記アシスタント対応デバイス(104)の前記環境の前記背景雑音レベルを決定するために、前記プリアンブルオーディオおよび/または前記ホットワード(110、160)から音声的特徴を抽出することと、
前記アシスタント対応デバイス(104)の前記環境の前記背景雑音レベルに基づいて、前記オーディオベースの通信内の少なくとも前記ユーザ(102)の前記声に関する音声フィルタリングをアクティブ化すると決定することとを含む、請求項16から21のいずれか一項に記載のシステム(100)。
【請求項23】
前記動作が、
前記アシスタント対応デバイス(104)の前記種類を決定する動作をさらに含み、
少なくとも前記ユーザ(102)の前記声に関する音声フィルタリングをアクティブ化するかどうかを判定するために前記音声フィルタリング認識ルーチン(200)を実行する動作が、前記アシスタント対応デバイス(104)の前記種類にさらに基づく、請求項16から22のいずれか一項に記載のシステム(100)。
【請求項24】
前記動作が、
前記アシスタント対応デバイス(104)が置かれている前記環境を決定する動作をさらに含み、
少なくとも前記ユーザ(102)の前記声に関する音声フィルタリングをアクティブ化するかどうかを判定するために前記音声フィルタリング認識ルーチン(200)を実行する動作が、前記アシスタント対応デバイス(104)が置かれている前記環境にさらに基づく、請求項16から23のいずれか一項に記載のシステム(100)。
【請求項25】
前記動作が、前記アシスタント対応デバイス(104)によって促進される前記オーディオベースの通信がビデオ通話(150)を含むとき、
前記アシスタント対応デバイス(104)の前記画像キャプチャデバイス(18)から、少なくとも前記ユーザ(102)が前記ビデオ通話(150)に参加していることを示す画像データ(20)を受信する動作をさらに含み、
少なくとも前記ユーザ(102)の前記声に関する音声フィルタリングをアクティブ化するかどうかを判定するために前記音声フィルタリング認識ルーチン(200)を実行する動作が、少なくとも前記ユーザ(102)が前記ビデオ通話(150)に参加していることを示す前記画像データ(20)にさらに基づく、請求項16から24のいずれか一項に記載のシステム(100)。
【請求項26】
前記動作が、前記音声フィルタリング認識ルーチン(200)を実行する動作が、前記ユーザ(102)および少なくとも1人のその他の個人(107)が前記ビデオ通話(150)に参加していることを示す前記画像データ(20)に基づいて、前記ユーザ(102)および前記少なくとも1人のその他の個人(107)の声に関する音声フィルタリングをアクティブ化すると決定するとき、
前記少なくとも1人のその他の個人(107)に関して、前記少なくとも1人のその他の個人(107)の声の特性を表すそれぞれの話者埋め込み(318)を取得する動作をさらに含み、
前記ユーザ(102)によって話されていない、生オーディオ信号の前記第2のインスタンスによってキャプチャされた前記1つまたは複数の追加的な音が、前記少なくとも1人のその他の個人(107)によって話された前記ビデオ通話(150)の可聴の内容(126、178)の追加的な発話(180)と、前記ユーザ(102)または前記少なくとも1人のその他の個人(107)のいずれによっても話されていない背景雑音(128、179)とを含み、
前記改良されたオーディオデータ(152)を生成するために前記生オーディオデータ(301)の前記第2のインスタンスを処理する動作が、前記可聴の内容(126、178)の前記発話および前記追加的な発話(180)を分離し、前記背景雑音(128、179)を除外する前記ビデオ通話(150)に関する前記改良されたオーディオデータ(152)を生成するために、前記ユーザ(102)および前記少なくとも1人のその他の個人(107)に関する前記それぞれの話者埋め込み(318)を使用して、前記生オーディオデータ(301)の前記第2のインスタンスを処理することを含む、請求項25に記載のシステム(100)。
【請求項27】
前記動作が、
前記オーディオベースの通信の前記可聴の内容(126、178)に関するスピーチ認識結果(212)を生成するために、スピーチ認識器を使用して、前記生オーディオデータ(301)の前記第2のインスタンスを処理する動作と、
前記オーディオベースの通信の前記可聴の内容(126、178)に関する前記スピーチ認識結果(212)に対して意味解釈を実行する動作とをさらに含み、
少なくとも前記ユーザ(102)の前記声に関する音声フィルタリングをアクティブ化するかどうかを判定するために前記音声フィルタリング認識ルーチン(200)を実行する動作が、前記オーディオベースの通信の前記可聴の内容(126、178)に関する前記スピーチ認識結果(212)に対して実行された前記意味解釈にさらに基づく、請求項26に記載のシステム(100)。
【請求項28】
前記動作が、前記音声フィルタリング認識ルーチン(200)を実行する動作が、前記可聴の内容(126、178)が前記ユーザ(102)と前記受信者(103)との間の前記オーディオベースの通信に参加している少なくとも1人のその他の個人(107)を特定することを示す、前記可聴の内容(126、178)に関する前記スピーチ認識結果(212)に対して実行された前記意味解釈に基づいて、前記ユーザ(102)および少なくとも1人のその他の個人(107)の声に関する音声フィルタリングをアクティブ化すると決定するとき、
前記少なくとも1人のその他の個人(107)に関して、前記少なくとも1人のその他の個人(107)の声の特性を表すそれぞれの話者埋め込み(318)を取得する動作をさらに含み、
前記ユーザ(102)によって話されていない、前記生オーディオ信号の前記第2のインスタンスによってキャプチャされた前記1つまたは複数の追加的な音が、前記少なくとも1人のその他の個人(107)によって話された前記オーディオベースの通信の可聴の内容(126、178)の追加的な発話(180)と、前記ユーザ(102)または前記少なくとも1人のその他の個人(107)のいずれによっても話されていない背景雑音(128、179)とを含み、
前記改良されたオーディオデータ(152)を生成するために前記生オーディオデータ(301)の前記第2のインスタンスを処理する動作が、前記可聴の内容(126、178)の前記発話および前記追加的な発話(180)を分離し、前記背景雑音(128、179)を除外する前記オーディオベースの通信に関する前記改良されたオーディオデータ(152)を生成するために、前記ユーザ(102)および前記少なくとも1人のその他の個人(107)に関する前記それぞれの話者埋め込み(318)を使用して、前記生オーディオデータ(301)の前記第2のインスタンスを処理することを含む、請求項27に記載のシステム(100)。
【請求項29】
前記オーディオベースの通信が、オーディオ通話、電話、ビデオ通話(150)、オーディオメッセージ(150)、またはブロードキャストされたオーディオのうちの1つを含む、請求項16から28のいずれか一項に記載のシステム(100)。
【請求項30】
前記動作が、前記データ処理ハードウェア(10)と通信するスクリーン上に表示されるグラフィカルユーザインターフェース(GUI)内に、
少なくとも前記ユーザ(102)の前記声に関して音声フィルタリングが現在アクティブ化されているか否かを示すグラフィカルなインジケータと、
少なくとも前記ユーザ(102)の前記声に関する音声フィルタリングをアクティブ化/非アクティブ化するためのコントロールとを表示する動作をさらに含む、請求項16から29のいずれか一項に記載のシステム(100)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、通話およびオーディオメッセージからのその他の話者の音声フィルタリングに関する。
【背景技術】
【0002】
スピーチ対応環境は、ユーザがクエリまたはコマンドを大きな声で話すことだけを許可し、自動化されたアシスタントが、クエリをてきぱきさばき、クエリに答える、および/またはコマンドを実行させる。スピーチ対応環境(たとえば、自宅、職場、学校など)は、環境の様々な部屋および/またはエリア中に分散された接続されたマイクロフォンデバイスのネットワークを使用して実装され得る。したがって、接続されたマイクロフォンデバイスが、自動化されたアシスタントを実装する場合があり、ユーザは、アクションを実行すること、別のデバイスを制御すること、ならびに/または応答内容(たとえば、視覚的および/もしくは可聴自然言語出力)を提供することによって自動化されたアシスタントが応答してよい話された発話を与えることによって、自動化されたアシスタントとインタラクションする場合がある。
【0003】
自動化されたアシスタントは、ユーザの話された発話に対応するオーディオデータを対応するテキスト(またはその他の意味表現)に変換することができる。たとえば、自動化されたアシスタントは、生成された音(たとえば、音素)、発音された音の順序、スピーチのリズム、イントネーションなどの話された発話の様々な特性を認識し、次いで、これらの特性によって表されるテキストの単語またはフレーズを特定しようと試みるスピーチ認識エンジンを含み得る。自動化されたアシスタントは、スピーチ認識エンジンが、発話を話したユーザの声に集中するのを助けるために、ユーザによって話された発話に対して実行される前処理ステップとして音声フィルタリング技術を採用する場合がある
【発明の概要】
【課題を解決するための手段】
【0004】
本開示の一態様は、オーディオベースの通信において音声フィルタリングをアクティブ化するための方法を提供する。方法は、データ処理ハードウェアにおいて、アシスタント対応デバイスのユーザと受信者との間のオーディオベースの通信を促進するためのアシスタント対応デバイスの音声ベースのコマンドに対応する生オーディオデータの第1のインスタンスを受け取るステップを含む。音声ベースのコマンドは、ユーザによって話され、アシスタント対応デバイスによってキャプチャされる。方法は、データ処理ハードウェアにおいて、ユーザによって話され、アシスタント対応デバイスによってキャプチャされたオーディオベースの通信の可聴の内容の発話に対応する生オーディオデータの第2のインスタンスを受け取るステップも含む。生オーディオデータの第2のインスタンスは、ユーザによって話されていない1つまたは複数の追加的な音をキャプチャする。方法は、データ処理ハードウェアによって、生オーディオデータの第1のインスタンスに基づいて、オーディオベースの通信内の少なくともユーザの声に関する音声フィルタリングをアクティブ化するかどうかを判定するために音声フィルタリング認識ルーチンを実行するステップも含む。音声フィルタリング認識ルーチンが少なくともユーザの声に関する音声フィルタリングをアクティブ化すると決定するとき、方法は、データ処理ハードウェアによって、ユーザの声の特性を表すユーザのそれぞれの話者埋め込み(speaker embedding)を取得するステップと、ユーザによって話された可聴の内容の発話を分離し、ユーザによって話されていない1つまたは複数の追加的な音の少なくとも一部を除外する、オーディオベースの通信に関する改良されたオーディオデータを生成するために、データ処理ハードウェアによって、ユーザのそれぞれの話者埋め込みを使用して、生オーディオデータの第2のインスタンスを処理するステップとを含む。方法は、データ処理ハードウェアによって、改良されたオーディオデータを受信者に関連する受信者デバイスに送信するステップも含む。改良されたオーディオデータは、受信者デバイスによって受信されるとき、受信者デバイスに、ユーザによって話された可聴の内容の発話を聞こえるように出力させる。
【0005】
本開示の別の態様は、オーディオベースの通信において音声フィルタリングをアクティブ化するためのシステムを提供する。システムは、データ処理ハードウェアと、データ処理ハードウェアと通信するメモリハードウェアとを含む。メモリハードウェアは、データ処理ハードウェア上で実行されるときに、データ処理ハードウェアに、アシスタント対応デバイスのユーザと受信者との間のオーディオベースの通信を促進するためのアシスタント対応デバイスの音声ベースのコマンドに対応する生オーディオデータの第1のインスタンスを受け取る動作を含む動作を実行させる命令を記憶する。音声ベースのコマンドは、ユーザによって話され、アシスタント対応デバイスによってキャプチャされる。動作は、ユーザによって話され、アシスタント対応デバイスによってキャプチャされたオーディオベースの通信の可聴の内容の発話に対応する生オーディオデータの第2のインスタンスを受け取る動作も含む。生オーディオデータの第2のインスタンスは、ユーザによって話されていない1つまたは複数の追加的な音をキャプチャする。動作は、生オーディオデータの第1のインスタンスに基づいて、オーディオベースの通信内の少なくともユーザの声に関する音声フィルタリングをアクティブ化するかどうかを判定するために音声フィルタリング認識ルーチンを実行する動作も含む。音声フィルタリング認識ルーチンが少なくともユーザの声に関する音声フィルタリングをアクティブ化すると決定するとき、動作は、ユーザの声の特性を表すユーザのそれぞれの話者埋め込みを取得する動作と、ユーザによって話された可聴の内容の発話を分離し、ユーザによって話されていない1つまたは複数の追加的な音の少なくとも一部を除外する、オーディオベースの通信に関する改良されたオーディオデータを生成するために、ユーザのそれぞれの話者埋め込みを使用して、生オーディオデータの第2のインスタンスを処理する動作とをさらに含む。動作は、改良されたオーディオデータを受信者に関連する受信者デバイスに送信する動作も含む。改良されたオーディオデータは、受信者デバイスによって受信されるとき、受信者デバイスに、ユーザによって話された可聴の内容の発話を聞こえるように出力させる。
【0006】
本開示の1つまたは複数の実装の詳細が、添付の図面および以下の説明に記載されている。その他の態様、特徴、および利点は、説明および図面から、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0007】
図1A】オーディオベースの通信内の1つまたは複数の声に集中するために音声フィルタリングをアクティブ化するための例示的なシステムの図である。
図1B】オーディオベースの通信内の1つまたは複数の声に焦点を当てるために音声フィルタリングをアクティブ化するための例示的なシステムの図である。
図2】例示的な音声フィルタリング認識ルーチンの図である。
図3】改良されたオーディオデータを生成するための音声フィルタリングモデルを含む例示的な音声フィルタリングエンジンの図である。
図4】オーディオベースの通信において音声フィルタリングをアクティブ化する方法の動作の例示的な配列の流れ図である。
図5】本明細書に記載のシステムおよび方法を実装するために使用されてよい例示的なコンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0008】
様々な図面における同様の参照符号は、同様の要素を示す。
【0009】
ユーザは、遠隔の受信者と、オーディオメッセージを送信/受信する、ならびに(たとえば、オーディオおよび/またはビジュアル)電話をかけるなど、オーディオ通信を送信するために自動化されたアシスタントを使用してよい。ユーザが騒がしい環境に(たとえば、にぎやかな場所に、自動車内に、または騒がしい家庭内に)いるとき、オーディオ通信の受信者は、高い背景雑音レベルが原因でオーディオ通信の内容を聞くことまたは理解することが困難な場合がある。
【0010】
本明細書の実装形態は、オーディオ通信から不要な背景雑音を除去することによって、別のユーザに送信される(または別のユーザから受信される)オーディオベースの通信内の1つまたは複数の声に焦点を当てるために音声フィルタリングを適用することを対象とする。アシスタント対応デバイスによってキャプチャされたオーディオデータが、オーディオベースの通信の可聴の内容を伝えるユーザによって話された発話と、不要なノイズとを含むとき、音声フィルタリングを適用することは、最終受信者が明確で一貫したオーディオベースの通信を受信するように、不要な背景雑音を除去することによってオーディオデータの改良されたバージョンを生成し得る。本明細書において使用されるとき、オーディオベースの通信は、オーディオメッセージ、電話、ビデオ通話(たとえば、オーディオ-ビデオ通話)、またはブロードキャストされたオーディオを指す場合がある。たとえば、アシスタント対応デバイスは、ユーザによって話されたオーディオメッセージの内容を記録し、次いで、メッセージングまたは電子メールプラットフォームを介して受信者にオーディオメッセージを送信する可能性がある。音声フィルタリングは、アシスタント対応デバイスにおいて、オーディオメッセージが受信者に向かう途中にある間の中間クラウドベースノードにおいて、またはオーディオメッセージが受信された後の受信者クライアントデバイスにおいて、オーディオメッセージを伝えるオーディオデータから不要な背景雑音を除去するために適用されてよい。したがって、受信者がオーディオメッセージを再生したいと望むとき、受信者クライアントデバイスは、ユーザがオーディオメッセージの内容を伝える発話を話していたときに最初にキャプチャされた不要な背景雑音を含まないオーディオメッセージの改良されたバージョンを聞こえるように出力する。同様に、アシスタント対応デバイスは、電話を促進し、不要な背景雑音を除去するためにリアルタイムで音声フィルタリングを適用する可能性がある。オーディオメッセージと同様に、音声フィルタリングは、アシスタント対応デバイスのローカルにおいて、または受信者デバイスへの通信経路に沿った任意の地点において、電話のオーディオデータから不要な雑音を除去するために適用され得る。
【0011】
図1Aおよび図1Bは、オーディオベースの通信150から不要な背景雑音を除去することによって、別のユーザ103に送信された(または別のユーザ103から受信された)オーディオベースの通信150内の少なくともユーザ102の声に焦点を当てるための音声フィルタリングのための例示的なシステム100を示す。システム100は、ユーザ102がスピーチによってインタラクションしてよいデジタルアシスタント109を実行するアシスタント対応デバイス(AED)104を含む。示された例において、AED 104は、スマートスピーカに対応する。しかし、AED 104は、スマートフォン、タブレット、スマートディスプレイ、デスクトップ/ラップトップ、スマートウォッチ、スマート家電、ヘッドフォン、または車両インフォテインメントデバイスなどであるがこれらに限定されないその他のコンピューティングデバイスを含み得る。AED 104は、データ処理ハードウェア10と、データ処理ハードウェア10上で実行されるときにデータ処理ハードウェア10に動作を実行させる命令を記憶するメモリハードウェア12とを含む。AED 104は、AED 104に向けられたスピーチなどの音響音をキャプチャするように構成された1つまたは複数のマイクロフォン16のアレイを含む。AED 104は、別のユーザ103から受信されたオーディオベースの通信150からの可聴の内容および/またはデジタルアシスタント109からの合成音声などのオーディオを出力してよいオーディオ出力デバイス(たとえば、スピーカ)16も含むかまたはそのようなオーディオ出力デバイス16と通信する場合がある。
【0012】
図1Aは、ユーザ102がAED 104の近傍で第1の発話106「オーケー、コンピュータ、次のオーディオメッセージをボブに送信して」を話すところを示す。AED 104のマイクロフォン16は、発話106を受け取り、第1の発話106に対応する生オーディオデータを処理する。オーディオデータの初期処理は、オーディオデータをフィルタリングすることと、オーディオデータをアナログ信号からデジタル信号に変換することとを含む場合がある。AED 104がオーディオデータを処理するとき、AEDは、追加の処理のために、オーディオデータをメモリハードウェア12のバッファに記憶する場合がある。バッファ内のオーディオデータを用いて、AED 104は、ホットワード検出器108を使用して、生オーディオデータがホットワード110を含むかどうかを検出してよい。ホットワード検出器108は、オーディオデータに対してスピーチ認識を実行することなく、オーディオデータに含まれるホットワードを特定するように構成される。示された例において、ホットワード検出器108は、ホットワード検出器108がホットワード110の特性であるオーディオデータ内の音響的特徴を検出する場合に、発話106「オーケー、コンピュータ、次のオーディオメッセージをボブに送信して」がホットワード110「オーケー、コンピュータ」を含むと判定してよい。音響的特徴は、発話106の短期パワースペクトルの表現であるメル周波数ケプストラム係数(MFCC)であってよく、または発話106のメル尺度フィルタバンクエネルギーであってよい。
【0013】
ホットワード検出器108が、発話106に対応するオーディオデータがホットワード110を含むと判定するとき、AED 104は、発話106に対応するオーディオデータに対するスピーチ認識を開始するためにウェイクアッププロセスをトリガしてよい。たとえば、AED 104上で実行される自動スピーチ認識器(ASR)116が、発話106に対応するオーディオデータに対してスピーチ認識および意味解釈を実行してよい。ASR 116は、受信された生オーディオデータに関するスピーチ認識結果を生成するために、少なくとも生オーディオデータのホットワード110に続く部分を処理し、発話106がユーザ102と受信者103との間のオーディオベースの通信150を促進するための音声ベースのコマンド118を含むと判定するために、スピーチ認識結果に対して意味解釈を実行してよい。この例において、ASR 116は、「次のオーディオメッセージをボブに送信して」に関する生オーディオデータの第1のインスタンスを処理し、音声ベースのコマンド118を特定してよい。
【0014】
一部の実装形態において、ASR 116は、AED 104に加えて、またはAED 104の代わりに、サーバ120に置かれる。ホットワード検出器108が、発話106内のホットワード110の検出に応答してAED 104をウェイクアップするようにトリガすると、AED 104は、発話106に対応する生オーディオデータの第1のインスタンスを、ネットワーク132を介してサーバ120に送信してよい。AED 104は、サーバ120がホットワード110の存在を確認するために、オーディオデータのホットワード110を含む部分を送信してよい。代替的に、AED 104は、発話106のホットワード110の後の部分に対応するオーディオデータの部分のみをサーバ120に送信してよい。サーバ120は、ASR 116を実行してスピーチ認識を実行し、オーディオデータのスピーチ認識結果(たとえば、文字起こし(transcription))をAED 104に返す。そして今度は、AED 104が、発話106内の単語を特定し、AED 104は、意味解釈を実行して音声コマンド118を特定する。AED 104(および/またはサーバ120)は、AED 104から受信者103に関連する受信者デバイス105へのネットワーク132を介した可聴メッセージのオーディオベースの通信150を促進するためのデジタルアシスタント109の音声ベースのコマンド118を特定する場合がある。その後、AED 104は、マイクロフォン16を開いたままにし、ユーザによって話され、AED 104によってキャプチャされたオーディオメッセージ150の可聴の内容126の発話124に対応する生オーディオデータの第2のインスタンスを受け取る。示された例において、可聴の内容126の発話124は、「やあ、ボブ、元気?」を含む。生オーディオデータの第2のインスタンスは、ユーザ102によって話されていない背景雑音などの1つまたは複数の追加的な音128もキャプチャする。
【0015】
可聴の内容の発話に対応する生オーディオデータの第2のインスタンスを受け取る前または後に、AED 104は、音声ベースのコマンド118に対応する生オーディオデータの第1のインスタンスに基づいて、オーディオベースの通信(たとえば、オーディオメッセージ)150内の少なくともユーザ102の声に関する音声フィルタリングをアクティブ化すべきかどうかを判定するために音声フィルタリング認識ルーチン(「ルーチン」)200を実行する。ルーチン200が音声フィルタリングをアクティブ化しないと決定するとき、AED 104は、単純に、可聴メッセージ155の可聴の内容126の発話124に対応する生オーディオデータの第2のインスタンスを受信者デバイス105に送信する。ここで、受信者デバイス105は、単純に、「やあ、ボブ、元気?」を含む可聴の内容126の発話124と、生オーディオデータの第2のインスタンスによってキャプチャされたすべての背景雑音とを受信者103のボブに対して再生する。ルーチン200が音声フィルタリングをアクティブ化すると決定するとき、AED 104は、音声フィルタエンジン300を使用して、ユーザによって話された可聴の内容126の発話124を分離し、ユーザ102によって話されていない1つまたは複数の追加的な音の少なくとも一部を除外する、オーディオベースの通信150に関する改良されたオーディオデータ152を生成する。すなわち、ルーチン200がユーザ102に加えてその他の個人に関する音声フィルタリングをアクティブ化すると決定するとき、および1つまたは複数の追加的な音の少なくとも一部が別の個人によって話された可聴の内容の追加的な発話を含むとき、音声フィルタエンジン300は、可聴の内容の追加的な発話を除外しない改良されたオーディオデータ152を生成する。そうではなく、ルーチン200がユーザ102のみに関する音声フィルタリングをアクティブ化すると決定する場合、音声フィルタエンジン300は、ユーザ102の声のみを分離し、生オーディオデータの第2のインスタンスによってキャプチャされる、ユーザ102によって話されていないすべてのその他の音を除外する改良されたオーディオデータ152を生成する。
【0016】
図3を参照して、下でより詳細に説明されるが、ルーチン200がユーザ102の声に関する音声フィルタリングをアクティブ化すると決定するとき、AED 104(またはサーバ120)は、ユーザの声の特性を表すユーザ102のそれぞれの話者埋め込み318(図3)を取得し、それぞれの話者埋め込みを使用して、ユーザ102によって話された可聴の内容126の発話124を分離し、ユーザ102によって話されていない背景雑音128などの1つまたは複数の追加的な音を除外するオーディオメッセージ150に関する改良されたオーディオデータ152を生成するために可聴の内容126の発話124に対応する生オーディオデータの第2のインスタンスを処理するように、音声フィルタリングエンジンに命令する。図1Aは、AED 104(またはサーバ120)がオーディオメッセージ150に関する改良されたオーディオデータ152を受信者103の受信者デバイス105に送信していることを示しており、それによって、受信者デバイス105は、受信者103がAED 104の環境内で元々キャプチャされた背景雑音128を聞くことなく、ユーザ102によって話された可聴の内容126「やあ、ボブ、元気?」の発話124を聞くことを可能にするために、改良されたオーディオデータ152を聞こえるように出力する。
【0017】
一部の例において、オーディオメッセージ150は、受信者デバイス105に送信されないが、その代わりに、意図された受信者がこれより後の時間において取り出すためにAED 104に記憶される。これらの例において、受信者103は、オーディオメッセージ150の可聴の内容を伝えるユーザ102の声を分離するために音声フィルタエンジン300によって生成された改良されたオーディオデータ152を用いて、記録されたオーディオメッセージ150を聞こえるように再生するためにAED 104を呼び出してよい。その他の例において、ルーチン200および音声フィルタエンジン300の機能は、受信者デバイス105がオーディオベースの通信150において生オーディオデータを受信するだけであるように、受信者デバイス105上で実行される場合がある。これらの例において、受信者デバイス105は、少なくとも送信者102の声に関する音声フィルタリングをアクティブ化すると決定し、オーディオベースの通信150の可聴の内容を伝える送信者102の声を分離するために生オーディオデータを処理してよい。いくつかの追加の例において、AED 104は、音声フィルタリングなしでオーディオベースの通信の可聴の内容を聞くための生オーディオデータの再生か、または少なくともユーザ102の声に関して音声フィルタリングがアクティブ化されるようにしてオーディオベースの通信150の可聴の内容を聞くための改良されたオーディオデータ152の再生かのどちらかを受信者103が選択することを許すために、受信者デバイス105に生オーディオデータ301(図3)と改良されたオーディオデータ152との両方を送信する。さらに、AED 104は、声の異なる組合せに適用される音声フィルタリングにそれぞれ関連する改良されたオーディオデータ152の複数のバージョンを送信する可能性がある。したがって、受信者103は、分離された声の異なる組合せを聞くために、改良されたオーディオデータ152の異なるバージョンの再生の間をトグルで切り換えてよい。
【0018】
受信者デバイス105および/またはAED 104は、少なくともユーザ102の声に関して音声フィルタリングが現在アクティブ化されているか否かを示すグラフィカルなインジケータをグラフィカルユーザインターフェース(GUI)に表示してよい。GUIは、少なくともユーザの声に関する音声フィルタリングをアクティブ化/非アクティブ化するための1つまたは複数のコントロールをさらにレンダリングしてよい。ここで、ユーザは、音声フィルタリングなしでオーディオベースの通信の可聴の内容を聞くための生オーディオデータの再生と、少なくともユーザ102の声に関して音声フィルタリングがアクティブ化された状態でオーディオベースの通信150の可聴の内容を聞くための改良されたオーディオデータ152の再生との間の選択をするためにコントロールを選択してよい。コントロールの選択を示すユーザ入力インジケーションが、下で検討される音声フィルタリング認識ルーチン200の分類モデル210を訓練するためのユーザフィードバック315として提供されてよい。AED 104は、音声フィルタリングをアクティブ化または非アクティブ化するために選択されてよい物理的ボタンも含む場合がある。しかし、受信者デバイスは、音声フィルタリングをアクティブ化または非アクティブ化するためのこれらの種類のコントロールを与えられない。
【0019】
図2は、オーディオベースの通信150内の少なくともユーザ102の声に関する音声フィルタリングをアクティブ化すべきかどうかを判定するためにAED 104(またはサーバ120)上で実行される音声フィルタリング認識ルーチン200の一例を示す。音声フィルタリング認識ルーチン200を実行することは、オーディオベースの通信150に関連する文脈入力(contextual input)202を受信し、オーディオベースの通信内の1つまたは複数の声に関する音声フィルタリングをアクティブ化すること、またはいかなる声に関する音声フィルタリングもアクティブ化しないことのうちの一方を示す分類結果212を出力として生成するように構成された分類モデル210を実行することを含んでよい。文脈入力202に基づく分類結果212が、1つまたは複数の声に関する音声フィルタリングをアクティブ化することであるとき、結果212は、1つまたは複数の声の各々を指定してよい。
【0020】
一部の例において、文脈入力202のうちの1つまたは複数は、音声ベースのコマンド118に対応する生オーディオデータの第1のインスタンスに関するスピーチ認識結果に対して意味解釈を実行することから導出される。ここで、ASR 116(図1Aおよび図1B)は、オーディオベースの通信150の受信者103などの文脈入力202のうちの1つまたは複数を特定/決定するために、音声ベースのコマンド118に対応する生オーディオデータの第1のインスタンスに関するスピーチ認識結果を生成し、その音声認識結果に対して意味解釈を実行してよい。これらの文脈入力202は、オーディオベースの通信150の受信者103のアイデンティティ(identity)、および/またはオーディオベースの通信内の少なくともユーザ102の声に関する音声フィルタリングをアクティブ化するための明示的な命令を含む場合がある。分類モデル210は、特定された受信者103が、オーディオベースの通信内の声に関する音声フィルタリングをアクティブ化することが適切であることを示す特定の受信者タイプを含むかどうかを判定してよい。たとえば、特定された受信者103が企業を含むとき、分類モデル210は、音声フィルタリングをアクティブ化すると決定する場合がある。一方、特定された受信者103がユーザ102の友人または家族を含むとき、分類モデル210は、音声フィルタリングをアクティブ化しないと決定する場合がある。追加の例において、音声ベースのコマンド118が音声フィルタリングをアクティブ化するための明示的な命令を含むとき、分類モデル210は、少なくともユーザの声に関する音声フィルタリングをアクティブ化すると決定する。たとえば、「配管工に電話して、背景雑音を消して」と言う音声ベースのコマンド118は、音声フィルタリングをアクティブ化するための明示的なコマンドを含み、音声フィルタリングが適切である可能性がある特定の受信者タイプを含む受信者(たとえば、配管工)を特定する。別の例において、「子供達がママと話せるようにママに電話して」と言う音声ベースのコマンド118は、「子供達」もオーディオベースの通信の参加者であることを特定し、音声フィルタリングが適切でない可能性がある特定の受信者タイプを含む受信者(たとえば、ママ)を特定する。この例において、分類結果212は、子供達とママとの間の後続のオーディオベースの通信(たとえば、電話)中に、ユーザ102の各子供の声に関する音声フィルタリングをアクティブ化することであってよい。
【0021】
追加の例において、AED 104(またはサーバ120)は、音声フィルタリングをアクティブ化することが適切であるか否かを判定するルーチン200にとって意味があり得る文脈入力202を導出するために、生オーディオデータの第1のインスタンス(たとえば、図1Aの発話106または図1Bの発話156)をその他の方法で処理する。たとえば、生オーディオデータの第1のインスタンスが、音声コマンド118、168に先立つプリアンブル(preamble)オーディオおよび/またはホットワード110、160を含むとき、ルーチン200は、音声コマンドが開始されたときのAED 104の環境の背景雑音レベルを決定するために、プリアンブルオーディオおよび/またはホットワードから音声的特徴を抽出してよい。ここで、背景雑音レベルは、オーディオベースの通信150の可聴の内容の発話に対応する生オーディオデータの後続の第2のインスタンスが背景雑音をキャプチャする見込み(likelihood)を示す、分類モデル210に与えられる文脈入力202として働く場合がある。たとえば、より高い背景雑音レベルは、背景雑音レベルが低い場合よりも、音声フィルタリングをアクティブ化することがより適切であることを示す場合がある。
【0022】
同様に、文脈入力202は、AED 104の位置を含む可能性がある。この場合、ユーザ102の自宅またはオフィス環境内に置かれたAED 104は、AED 104が鉄道駅などの公共の場所に置かれているとした場合よりも、音声フィルタリングをアクティブ化する可能性が低い場合がある。分類モデル210は、音声フィルタリングをアクティブ化するかどうかを判定するときに、AED 104の種類を文脈入力として考慮する場合もある。ここで、一部の特定の種類のAEDは、その他のAEDよりも音声フィルタリングをアクティブ化するのに好適である場合がある。たとえば、マルチユーザ環境内のスマートスピーカなどの共有されたAED 104は、ユーザ102の口元の近くに保持された電話よりも背景音をキャプチャする可能性が高いので、電話などの個人用のAED 104よりも音声フィルタリングをアクティブ化するのに好適である場合がある。
【0023】
図1Bおよび図2を参照すると、一部の実装形態において、文脈入力202のうちの1つは、AED 104に実装された、またはそうでなければAED 104と通信する画像キャプチャデバイス18によってキャプチャされた画像データ20(図1B)を含む。たとえば、図1Bは、ユーザ102と受信者ボブ 103との間のオーディオベースの通信としてビデオ通話150を促進するためのAED 104の音声コマンド168に対応するユーザによって話された発話156の生オーディオデータの第1のインスタンスをAED 104が(すなわち、AED 104上で実行されるデジタルアシスタント109を介して)キャプチャしているところを示す。AED 104は、音声通話用に構成されたタブレットまたはスマートディスプレイを含んでよく、したがって、画像キャプチャデバイス18は、少なくともユーザ102が画像フレーム内におり、ひいては、ビデオ通話に参加していることを示す画像データ20をキャプチャしてよい。図1Bは、ユーザ102と別の個人107、たとえば、ユーザ102の娘との両方をキャプチャする画像データ20を示す。AED 104は、ホットワード160「オーケー、コンピュータ」が音声コマンド168「ボブにビデオ電話をかけて」に先立つ「オーケー、コンピュータ、ボブにビデオ電話をかけて」と話すユーザ102をキャプチャする発話156の生オーディオデータの第1のインスタンスを受け取る。この時点まで、音声フィルタリング認識ルーチン200の分類モデル210に与えられる文脈入力202は、ユーザの兄弟として特定された受信者「ボブ」、ビデオ通話用に構成された共有されたスマートディスプレイなどのAED 104の種類、AED 104の環境、プリアンブルおよび/またはホットワード160から抽出された音声的特徴から導出された背景雑音レベル、ならびにユーザ102および別の個人107が受信者103との続いて行われるビデオ通話150の参加者である可能性が高いことを示す画像データ20を含んでよい。文脈入力202は、発話156の認識結果に対して実行された意味解釈が、音声フィルタリングをアクティブ化するためのいかなる明示的な命令も特定しなかったことをさらに示す場合がある。
【0024】
受信者ボブ 103とのビデオ通話150を促進するようにAED 104に命令する受け取られた音声コマンド168に基づいて、AED 104は、受信者103に関連する受信者デバイス105とネットワーク132を介して接続を最初に確立することによってビデオ通話150を開始してよい。その後、AED 104は、マイクロフォン16を開いたままにし、ユーザによって話され、AED 104によってキャプチャされたビデオ通話150の可聴の内容178の発話176に対応する生オーディオデータの第2のインスタンスを受け取る。示された例において、可聴の内容178の発話176は、「どうも、ボブおじさん」を含む。生オーディオデータの第2のインスタンスは、背景雑音179、および可聴の内容178「どうも、ボブおじさん」に続く可聴の内容「私達、あなたがいなくて寂しいです」を含む別の個人107によって話された追加的な発話180などの、ユーザ102によって話されていない追加的な音もキャプチャする。ユーザ102によって話されていない追加的な音として認識されるが、追加的な発話180は、画像データ20によって音声通話の参加者の可能性が高いと示される別の個人107によって話され、受信者103が聞くように意図された可聴の内容を含む。したがって、ルーチン200を実行することが、分類モデル210がユーザ102および別の個人107の声に関する音声フィルタリングをアクティブ化することを示す分類結果212を生成することになるとき、音声フィルタリングエンジン300は、音声フィルタリングを適用して、ビデオ通話150内の背景雑音179を除外し、ユーザ102および別の個人107の声を分離する改良されたオーディオデータ152を生成する。
【0025】
図3を参照して、下でより詳細に説明されるが、ルーチン200がユーザ102および別の個人107の声に関する音声フィルタリングをアクティブ化すると決定するとき、AED 104(またはサーバ120)は、ユーザ102および別の個人107のうちの一方の各々の、それぞれの話者埋め込み318(図3)を取得するように音声フィルタリングエンジン300に命令する。ユーザ102のそれぞれの話者埋め込み318は、生オーディオデータの第1のインスタンス(たとえば、ホットワード160)の音声的特徴を処理して検証埋め込み(verification embedding)を生成し、その検証埋め込みを記憶された話者埋め込み318とマッチングすることによって取得されてよい。利用可能な記憶された話者埋め込み318がない(たとえば、ユーザ102がAED 104にエンロール(enroll)されていない)場合、検証埋め込みとして働くそれぞれの話者埋め込み318が、その後のスピーチ内のユーザ102の声に音声フィルタリングを適用するために直接使用され得る。個人107および任意選択でユーザ102のそれぞれの話者埋め込み318は、個人がAEDのエンロールされたユーザであるとき、顔認識によって画像データ20に基づいて個人107を特定することによって取得されてよい。任意選択で、個人107の顔画像が、画像データ20から抽出されてよく、話者埋め込み318は、抽出された顔画像内で動く個人の唇と同期されたオーディオから音声的特徴を抽出することによって解決されてよい。音声フィルタリングエンジン300は、(ユーザ102によって話された)発話176および(別の個人107によって話された)追加的な発話180を分離し、背景雑音179を除外するビデオ通話150に関する改良されたオーディオデータ152を生成するために、それぞれの話者埋め込み318を使用して生オーディオデータの第2のインスタンスを処理する。したがって、画像データ20と組み合わせて、AED 104(またはサーバ120)は、ビデオ通話150中に、改良されたオーディオデータ152を受信者103の受信者デバイス105に送信してよい。受信者デバイス105は、AED 104の環境内で元々キャプチャされた背景雑音179を聞くことなく、ユーザ102によって話された発話178「どうも、ボブおじさん」および別の個人(たとえば、ユーザの娘)107によって話された追加的な発話180「私達、あなたがいなくて寂しいです」を受信者103が聞くことを可能にするために、改良されたオーディオデータ152を聞こえるように出力してよい。
【0026】
図2を引き続き参照すると、音声フィルタリング認識ルーチン200は、分類モデル210が文脈入力202に基づいて分類結果212を継続的に更新するように継続的に実行されてよい。そうする際に、ルーチン200は、AED 104と受信者デバイス105との間の進行中のオーディオベースの通信セッション中に、どの声に関して音声フィルタリングがアクティブであるかを動的に調整してよい。たとえば、分類モデル210は、ユーザの声のみを分離し、ユーザによって話されていないすべてのその他の音を除外する改良されたオーディオデータ152を音声フィルタエンジン300が生成するように、ユーザ102の声のみに関する音声フィルタリングをアクティブ化することを示す分類結果212を最初に生成する場合がある。しかし、オーディオメッセージの可聴の内容を伝える生オーディオデータの第2のインスタンスを受け取ると、ASR 116は、スピーチ認識および意味解釈によって、可聴の内容に関するスピーチ認識結果がオーディオベースの通信150に参加する少なくとも1人のその他の個人を特定することを示す場合がある。一例において、可聴の内容の発話は、ユーザ102が「やあ、ボブ、私とアレックスだ」と話すことを含む場合があり、それによって、発話の認識およびその後の意味解釈が、ユーザに加えて、アレックスもオーディオベースの通信150の参加者であることを特定することができる。したがって、分類モデル210は、ユーザ102およびアレックスが参加者であるという文脈入力202を受信し、ユーザ102およびアレックスの声に関する音声フィルタリングをアクティブ化する更新された分類結果212を生成してよい。文脈入力202に基づくこの更新がなければ、アレックスによって話されたすべての発話は、たとえそれらの発話が、受信者103が聞くように意図された可聴の内容を含む可能性が高くても、オーディオベースの通信から除外される。一部の例においては、現在の音声ベースの通信スレッド/セッション中に、音声フィルタリング認識ルーチン200は、単純に、前のオーディオベースの通信に関してアクティブ化された現在の発信されるオーディオベースの通信内の同じ声に対する音声フィルタリングを再アクティブ化すると決定する。
【0027】
音声フィルタリング認識ルーチン200を実行することは、分類モデル210をヒューリスティクスベースのモデルまたは訓練された機械学習モデルとして実行することを含んでよい。一部の実装形態において、分類モデル210が訓練された機械学習モデルであるとき、訓練された機械学習モデルは、音声フィルタエンジン300が特定の文脈入力202に関してモデル210によって生成された分類結果212に基づいてオーディオベースの通信に音声フィルタリングを適用した後に受信されたユーザフィードバック215に基づいて、同じ特定の文脈入力202に関して音声フィルタリングをどのようにしてアクティブ化するかを適応的に学習するように再訓練/チューニングされる。ここで、ユーザフィードバック215は、音声フィルタリングがアクティブであった声の承認を示す場合があり、またはどの声に関して音声フィルタリングがアクティブであったかに対する調整を示すその後のユーザ入力インジケーションを示す場合がある。たとえば、音声フィルタリングがユーザの声のみを分離するために適用された場合、ユーザは、特定の声および/またはユーザによって話されていないその他の音がオーディオベースの通信から分離されることをユーザが望まないことを示すユーザ入力インジケーションを与える場合がある。したがって、機械学習分類モデル210が、似た文脈における過去のユーザの振る舞い/反応に基づいて、ユーザ102のためにパーソナライズされた音声フィルタリング分類結果212を出力することを適応的に学習するように、AED 104は、文脈入力202、関連する分類結果212、および取得されたユーザフィードバック215に基づいてその分類モデル210を継続的に維持する訓練プロセスを実行してよい。
【0028】
ここで図3を参照すると、音声フィルタリング認識ルーチン200が、少なくともユーザ102の声に関する音声フィルタリングをアクティブ化すると決定するとき、音声フィルタエンジン300は、(ASR 116に実装される場合がある)周波数変換器303を使用して、AED 104によってキャプチャされた受信された生オーディオデータ301に関する周波数表現302を生成し得る。ここで、生オーディオデータ301は、オーディオベースの通信のための可聴の内容の1つまたは複数の発話を含んでよい。周波数表現302は、たとえば、オンラインで(たとえば、電話またはビデオ通話におけるようにリアルタイムまたは準リアルタイムで)処理されるストリーミングオーディオデータ、または(たとえば、オーディオメッセージにおけるように)以前に記録され、音声フィルタエンジンに提供された非ストリーミングオーディオデータであることが可能である。また、音声フィルタエンジンは、話者埋め込みエンジン317から話者埋め込み318を受信する。
【0029】
話者埋め込み318は、所与の人間の話者の埋め込みであり、話者埋め込みモデルを使用して、所与の話者からのオーディオデータの1つまたは複数のインスタンスを処理することに基づいて取得され得る。本明細書において説明されるように、一部の実装形態において、話者埋め込み318は、所与の話者からのオーディオデータの以前のインスタンスに基づいて、話者埋め込みエンジンによって事前に生成される。それらの実装形態の一部において、話者埋め込み318は、所与の話者のアカウントおよび/または所与の話者のクライアントデバイスに関連付けられ、話者埋め込み318は、アカウントが認可されたAED 104から来る周波数表現302に基づいて、周波数表現302とともに利用するために提供され得る。話者埋め込みエンジン317は、音声フィルタリングをアクティブ化させるためのルーチン200によって特定された1人または複数の人間の話者の各々の声の特性を表すそれぞれの話者埋め込み318を決定し得る。一部の実装形態において、話者埋め込みエンジン317は、話者埋め込みを生成するために、話者埋め込みモデル(図示せず)を使用して、キャプチャされた生オーディオデータ301の一部を処理する。追加的または代替的に、話者埋め込みエンジン317は、音声フィンガープリンティング(voice fingerprinting)、画像認識、パスコード、および/またはその他の検証技術を使用して、事前に生成された話者埋め込み(たとえば、エンロールメント(enrollment)プロセスを使用して事前に生成された話者埋め込み)を選択して、現在アクティブな人間の話者と、結果として、現在アクティブな人間の話者の話者埋め込みとを決定することができる。多くの実装形態において、正規化エンジン312が、1つまたは複数の選択された話者埋め込み318の各々を正規化する。
【0030】
音声フィルタエンジン300は、任意選択で、パワー圧縮(power compression)プロセスを使用して周波数表現302を処理して、パワー圧縮304を生成してよい。多くの実装形態において、パワー圧縮プロセスは、オーディオデータ内の大きな音に対するより小さな音の重要性をイコライズ(または部分的にイコライズ)する。追加的または代替的に、音声フィルタエンジン300は、正規化306を生成するために正規化プロセスを使用して周波数表現302を任意選択で処理する場合があり、正規化312を生成するために正規化プロセスを使用して話者埋め込み318を任意選択で処理する場合がある。
【0031】
音声フィルタエンジン300は、生オーディオデータ301の周波数表現302および人間の話者に対応する話者埋め込み318を処理して、予測されたマスク322を生成するように訓練された音声フィルタモデル112を含んでよく、周波数表現は、人間の話者の発話を分離する修正された周波数表現310を生成するために予測されたマスク322を用いて処理され得る。予測されたマスク322を使用する代わりに、本開示の範囲を逸脱することなく、その他の種類の音声フィルタリングモデル112が可能である。たとえば、エンドツーエンドの音声フィルタモデルまたは敵対的生成ネットワーク(GAN)ベースのモデルが、フィルタリングされたスペクトログラムを直接生成してよい。
【0032】
より詳細には、周波数表現302は、音声フィルタモデル112の畳み込みニューラルネットワーク(CNN)部分314への入力として適用され得る。一部の実装形態において、CNN部分314は、1次元畳み込みニューラルネットワークである。多くの実装形態において、CNN部分314によって生成された畳み込み出力と、話者埋め込み318とが、音声フィルタモデル112の回帰型ニューラルネットワーク(RNN)部分316への入力として適用される。ここで、RNN部分316は、単方向記憶ユニット(たとえば、長期短期記憶ユニット(LSTM)、ゲート付き回帰型ユニット(GRU: gated recurrent unit)、および/または追加的な記憶ユニット)を含み得る。追加的または代替的に、RNN部分316によって生成されたRNN出力は、予測されたマスク322を生成するために、音声フィルタモデル112の全結合順伝播型ニューラルネットワーク部分320への入力として適用され得る。一部の例においては、CNN部分314が省略され、周波数表現302と話者埋め込み318との両方が、RNN 316への入力として適用される。
【0033】
エンジン300は、予測されたマスク322を用いて周波数表現302を処理して、修正された周波数表現310を生成してよい。たとえば、周波数表現302は、修正された周波数表現310を生成するために、予測されたマスク322と畳み込まれ得る(308)。波形合成器324は、再生するための人間の話者の発話を分離する改良されたオーディオデータ152を生成するために、修正された周波数表現310に逆周波数変換を適用してよい。改良されたオーディオデータ152は、生オーディオデータ301が話者埋め込み318に対応する話者からの発話のみをキャプチャするとき、生オーディオデータ301と同じであることが可能であり、生オーディオデータ301が話者埋め込み318に対応する話者からの発話を欠いているとき、ヌル/ゼロであることが可能であり、または生オーディオデータ301が話者からの発話および追加的な音(たとえば、その他の人間の話者の重ね合わさる発話および/もしくは追加的な背景雑音)を含むとき、話者埋め込み318に対応する話者からの発話を分離しながら追加的な音を除外することが可能である。
【0034】
図4は、オーディオベースの通信150内の少なくともユーザ102の声に焦点を当てるために音声フィルタリングをアクティブ化するための例示的な方法400の流れ図を提供する。動作402において、方法400は、アシスタント対応デバイス104のユーザ102と受信者103との間のオーディオベースの通信150を促進するためのアシスタント対応デバイス104の音声ベースのコマンド118に対応する生オーディオデータの第1のインスタンスを受け取ることを含む。音声ベースのコマンド118は、ユーザ102によって話され、アシスタント対応デバイス104によってキャプチャされる。
【0035】
動作404において、方法400は、ユーザ102によって話され、アシスタント対応デバイス104によってキャプチャされたオーディオベースの通信150の可聴の内容126の発話124に対応する生オーディオデータの第2のインスタンスを受け取ることを含む。生オーディオデータの第2のインスタンスは、ユーザ102によって話されていない1つまたは複数の追加的な音をキャプチャする。
【0036】
動作406において、方法400は、生オーディオデータの第1のインスタンスに基づいて、オーディオベースの通信150内の少なくともユーザ102の声に関する音声フィルタリングをアクティブ化するかどうかを判定するために音声フィルタリング認識ルーチン200を実行することを含む。動作408において、音声フィルタリング認識ルーチンが少なくともユーザの声に関する音声フィルタリングをアクティブ化すると決定するとき、方法400は、ユーザの声の特性を表すユーザ102のそれぞれの話者埋め込み318を取得することも含む。動作410において、方法400は、ユーザ102によって話された可聴の内容の発話を分離し、ユーザによって話されていない1つまたは複数の追加的な音の少なくとも一部を除外する、オーディオベースの通信150に関する改良されたオーディオデータ152を生成するために、話者埋め込み318を使用して、生オーディオデータの第2のインスタンスを処理することを含む。
【0037】
動作412において、方法400は、改良されたオーディオデータ152を、受信者103に関連する受信者デバイス105に送信することを含む。改良されたオーディオデータ152は、受信者デバイス105によって受信されるとき、受信者デバイス105に、ユーザ102によって話された可聴の内容126の発話124を聞こえるように出力させる。
【0038】
ソフトウェアアプリケーション(すなわち、ソフトウェアリソース)は、コンピューティングデバイスにタスクを実行させるコンピュータソフトウェアを指す場合がある。一部の例において、ソフトウェアアプリケーションは、「アプリケーション」、「アプリ」、または「プログラム」と呼ばれる場合がある。例示的なアプリケーションは、システム診断アプリケーション、システム管理アプリケーション、システムメンテナンスアプリケーション、文書処理アプリケーション、表計算アプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲームアプリケーションを含むがこれらに限定されない。
【0039】
非一時的メモリは、コンピューティングデバイスによる使用のために、プログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラムの状態情報)を一時的または永続的に記憶するために使用される物理的デバイスであってよい。非一時的メモリは、揮発性および/または不揮発性のアドレス指定可能な半導体メモリであってよい。不揮発性メモリの例は、フラッシュメモリおよび読み出し専用メモリ(ROM)/プログラマブル読み出し専用メモリ(PROM)/消去可能プログラマブル読み出し専用メモリ(EPROM)/電子的消去可能プログラマブル読み出し専用メモリ(EEPROM)(たとえば、典型的にはブートプログラムなどのファームウェアのために使用される)を含むがこれらに限定されない。揮発性メモリの例は、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、およびディスクまたはテープを含むがこれらに限定されない。
【0040】
図5は、本明細書に記載のシステムおよび方法を実装するために使用されてよい例示的なコンピューティングデバイス500の概略図である。コンピューティングデバイス500は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、およびその他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すように意図される。本明細書に示される構成要素、それらの構成要素の接続および関係、ならびにそれらの構成要素の機能は、単に例示的であるように意図されており、本明細書において説明および/または特許請求される本発明の実装形態を限定するように意図されていない。
【0041】
コンピューティングデバイス500は、プロセッサ510、メモリ520、ストレージデバイス530、メモリ520および高速拡張ポート550に接続する高速インターフェース/コントローラ540、ならびに低速バス570およびストレージデバイス530に接続する低速インターフェース/コントローラ560を含む。構成要素510、520、530、540、550、および560の各々は、様々なバスを使用して相互接続されており、共通のマザーボードに搭載されるか、または適宜その他の方法で搭載される場合がある。プロセッサ510は、メモリ520内またはストレージデバイス530上に記憶された命令を含む、コンピューティングデバイス500内で実行するための命令を処理して、高速インターフェース540に結合されたディスプレイ580などの外部入力/出力デバイス上のグラフィカルユーザインターフェース(GUI)のためのグラフィカルな情報を表示することができる。その他の実装形態においては、複数のプロセッサおよび/または複数のバスが、複数のメモリおよび複数の種類のメモリと一緒に適宜使用される場合がある。また、複数のコンピューティングデバイス500が、各デバイスが必要な動作の一部を提供するようにして(たとえば、サーババンク、一群のブレードサーバ、またはマルチプロセッサシステムとして)接続される場合がある。
【0042】
メモリ520は、コンピューティングデバイス500内で情報を非一時的に記憶する。メモリ520は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであってよい。非一時的メモリ520は、コンピューティングデバイス500による使用のために、プログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラムの状態情報)を一時的または永続的に記憶するために使用される物理的デバイスであってよい。不揮発性メモリの例は、フラッシュメモリおよび読み出し専用メモリ(ROM)/プログラマブル読み出し専用メモリ(PROM)/消去可能プログラマブル読み出し専用メモリ(EPROM)/電子的消去可能プログラマブル読み出し専用メモリ(EEPROM)(たとえば、典型的にはブートプログラムなどのファームウェアのために使用される)を含むがこれらに限定されない。揮発性メモリの例は、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、およびディスクまたはテープを含むがこれらに限定されない。
【0043】
ストレージデバイス530は、コンピューティングデバイス500に大容量ストレージを提供することができる。一部の実装形態において、ストレージデバイス530は、コンピュータ可読媒体である。様々な異なる実装形態において、ストレージデバイス530は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくはその他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくはその他の構成内のデバイスを含むデバイスのアレイであってよい。追加的な実装形態においては、コンピュータプログラム製品が、情報担体内に有形で具現化される。コンピュータプログラム製品は、実行されるときに上述の方法などの1つまたは複数の方法を実行する命令を含む。情報担体は、メモリ520、ストレージデバイス530、またはプロセッサ510上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【0044】
高速コントローラ540は、コンピューティングデバイス500に関する帯域幅の使用度が大きい動作を管理し、一方、低速コントローラ560は、帯域幅の使用度が小さい動作を管理する。役割のそのような割り当ては、例示的であるに過ぎない。一部の実装形態において、高速コントローラ540は、メモリ520に、(たとえば、グラフィックスプロセッサまたはアクセラレータを通じて)ディスプレイ580に、および様々な拡張カード(図示せず)を受け入れてよい高速拡張ポート550に結合される。一部の実装形態において、低速コントローラ560は、ストレージデバイス530および低速拡張ポート590に結合される。様々な通信ポート(たとえば、USB、Bluetooth、イーサネット、ワイヤレスイーサネット)を含んでよい低速拡張ポート590は、キーボード、ポインティングデバイス、スキャナなどの1つもしくは複数の入力/出力デバイスに結合される場合があり、またはたとえばネットワークアダプタを介してスイッチもしくはルータなどのネットワークデバイスに結合される場合がある。
【0045】
コンピューティングデバイス500は、図に示されるように、多くの異なる形態で実装されてよい。たとえば、コンピューティングデバイス500は、標準的なサーバ500aとして、またはそのようなサーバ500aのグループ内で複数回、ラップトップコンピュータ500bとして、またはラックサーバシステム500cの一部として実装されてよい。
【0046】
本明細書に記載のシステムおよび技術の様々な実装形態は、デジタル電子および/もしくは光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、ならびに/またはこれらの組合せで実現され得る。これらの様々な実装形態は、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、それらにデータおよび命令を送信するために結合された、専用または汎用であってよい少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上の、実行可能なおよび/または解釈可能な1つまたは複数のコンピュータプログラムへの実装を含み得る。
【0047】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラマブルプロセッサ用の機械命令を含み、高級手続き型プログラミング言語および/もしくはオブジェクト指向プログラミング言語、ならびに/またはアセンブリ/機械言語で実装され得る。本明細書において使用されるとき、用語「機械可読媒体」および「コンピュータ可読媒体」は、機械命令を機械可読信号として受け取る機械可読媒体を含む、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置、および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。用語「機械可読信号」は、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意の信号を指す。
【0048】
本明細書に記載のプロセスおよび論理フローは、入力データに対して演算を行い、出力を生成することによって機能を実行するために、1つまたは複数のコンピュータプログラムをデータ処理ハードウェアとも呼ばれる1つまたは複数のプログラマブルプロセッサが実行することによって実行され得る。また、プロセスおよび論理フローは、専用の論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行され得る。コンピュータプログラムの実行に好適なプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサとの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。概して、プロセッサは、読み出し専用メモリ、またはランダムアクセスメモリ、またはこれらの両方から命令およびデータを受け取る。コンピュータの必須の要素は、命令を実行するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。また、概して、コンピュータは、データを記憶するための1つもしくは複数の大容量ストレージデバイス、たとえば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含むか、またはそれらの大容量ストレージデバイスからデータを受け取るか、もしくはそれらの大容量ストレージデバイスにデータを転送するか、もしくはその両方を行うために動作可能なように結合される。しかし、コンピュータは、そのようなデバイスを有していなくてもよい。コンピュータプログラム命令およびデータを記憶するのに好適なコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD ROMディスクおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用の論理回路によって補完され得るか、または専用の論理回路に組み込まれ得る。
【0049】
ユーザとのインタラクションを提供するために、本開示の1つまたは複数の態様は、ユーザに対して情報を表示するためのディスプレイデバイス、たとえば、CRT(ブラウン管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーンと、任意選択で、ユーザがコンピュータに入力を与えることができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールとを有するコンピュータ上に実装され得る。その他の種類のデバイスが、ユーザとのインタラクションを提供するためにやはり使用されることが可能であり、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであることが可能であり、ユーザからの入力は、音響、スピーチ、または触覚による入力を含む任意の形態で受け取られることが可能である。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信し、そのデバイスから文書を受信することによって、たとえば、ウェブブラウザから受信された要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによってユーザとインタラクションすることができる。
【0050】
いくつかの実装形態が、説明された。しかしながら、本開示の精神および範囲を逸脱することなく様々な修正がなされてよいことは、理解されるであろう。したがって、その他の実装形態は、添付の特許請求の範囲の範囲内にある。
【符号の説明】
【0051】
10 データ処理ハードウェア
12 メモリハードウェア
16 マイクロフォン、オーディオ出力デバイス
18 画像キャプチャデバイス
20 画像データ
100 システム
102 ユーザ
103 別のユーザ、受信者
104 アシスタント対応デバイス(AED)
105 受信者デバイス
106 第1の発話、発話
107 別の個人、個人
108 ホットワード検出器
109 デジタルアシスタント
110 ホットワード、プリアンブルオーディオ
112 音声フィルタモデル
116 自動音声認識器(ASR)、音声認識器
118 音声ベースのコマンド、音声コマンド
124 発話
126 可聴の内容
128 追加的な音、背景雑音
132 ネットワーク
150 オーディオベースの通信、ビデオ通話
152 改良されたオーディオデータ
155 可聴メッセージ
156 発話
160 ホットワード、プリアンブルオーディオ
168 音声コマンド
176 発話
178 可聴の内容
179 背景雑音
180 追加的な発話
200 音声フィルタリング認識ルーチン、ルーチン
202 文脈入力
210 分類モデル、機械学習分類モデル、モデル
212 分類結果、結果
215 ユーザフィードバック
300 音声フィルタエンジン、音声フィルタリングエンジン
301 生オーディオデータ
302 周波数表現
303 周波数変換器
304 パワー圧縮
306 正規化
310 修正された周波数表現
312 正規化エンジン、正規化
314 畳み込みニューラルネットワーク(CNN)部分
315 ユーザフィードバック
316 リカレントニューラルネットワーク(RNN)部分
317 話者埋め込みエンジン
318 話者埋め込み
320 全結合順伝播型ニューラルネットワーク部分
322 予測されたマスク
324 波形合成器
400 方法
500 コンピューティングデバイス
500a サーバ
500b ラップトップコンピュータ
500c ラックサーバシステム
510 プロセッサ、構成要素
520 メモリ、構成要素
530 ストレージデバイス、構成要素
540 高速インターフェース/コントローラ、構成要素
550 高速拡張ポート、構成要素
560 低速インターフェース/コントローラ、構成要素
570 低速バス
580 ディスプレイ
590 低速拡張ポート
図1A
図1B
図2
図3
図4
図5