(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-09
(45)【発行日】2024-08-20
(54)【発明の名称】分散システムにおいてユーザの好みに最適化するためのカスタマイズされた出力
(51)【国際特許分類】
G06F 3/16 20060101AFI20240813BHJP
G10L 15/00 20130101ALI20240813BHJP
G10L 13/00 20060101ALI20240813BHJP
G10L 21/0272 20130101ALI20240813BHJP
G10L 17/00 20130101ALI20240813BHJP
H04M 11/00 20060101ALI20240813BHJP
H04M 3/42 20060101ALI20240813BHJP
【FI】
G06F3/16 650
G10L15/00 200C
G10L13/00 100G
G10L21/0272 100Z
G10L17/00 200C
G10L15/00 200U
G06F3/16 690
G06F3/16 640
G06F3/16 610
H04M11/00 302
H04M3/42 P
(21)【出願番号】P 2021564450
(86)(22)【出願日】2020-03-17
(86)【国際出願番号】 US2020023054
(87)【国際公開番号】W WO2020222925
(87)【国際公開日】2020-11-05
【審査請求日】2023-02-08
(32)【優先日】2019-04-30
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】吉岡 拓也
(72)【発明者】
【氏名】ストルケ,アンドレアス
(72)【発明者】
【氏名】チェン,ジュオ
(72)【発明者】
【氏名】ディミトリアディス,ディミトリオス,バジル
(72)【発明者】
【氏名】ゼン,ナンシャン
(72)【発明者】
【氏名】キン,リフアン
(72)【発明者】
【氏名】ヒントホルン,ウィリアム,アイザック
(72)【発明者】
【氏名】ファン,シェドン
【審査官】▲高▼瀬 健太郎
(56)【参考文献】
【文献】特開2015-215601(JP,A)
【文献】特開2012-208630(JP,A)
【文献】特開2014-056241(JP,A)
【文献】特開2013-011744(JP,A)
【文献】特開2019-061594(JP,A)
【文献】岡本 昌之 Masayuki OKAMOTO,端末音声の相互相関に基づくアドホック会話の検出 Adhoc-Meeting Detection by Cross Correlation of Terminal Voice,電子情報通信学会 第19回データ工学ワークショップ論文集 [online] DEWS2008 Data Engineering Workshop MIYAZAKI,日本,電子情報通信学会データ工学研究専門委員会,2008年04月07日,第1頁-第3頁
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/16
G10L 15/00
G10L 13/00
G10L 21/0272
G10L 17/00
H04M 11/00
H04M 3/42
(57)【特許請求の範囲】
【請求項1】
会議サーバに実装される方法であって:
前記会議サーバが、複数の分散デバイスによってキャプチャされたオーディオストリームを受信することと;
前記会議サーバが、前記オーディオストリームが同じ会議からの音を表しているかどうかを決定するために前記複数の分散デバイスによってキャプチャされた前記オーディオストリームを比較することと;
前記オーディオストリームが前記同じ会議からの音を表していることを示す
という前記比較
することの結果に基づいて、
前記会議サーバが、インテリジェント会議のための会議インスタンスを確立することと;
前記会議サーバが、前記インテリジェント会議内の前記複数の分散デバイスのうちの分散デバイスに対応するユーザを識別することと;
前記会議サーバが、前記ユーザの好みの言語を決定することと;
前記会議サーバが、前記インテリジェント会議が行われているときに受信した前記オーディオストリームからトランスクリプトを生成することと;
前記会議サーバが、前記インテリジェント会議が行われているときに翻訳されたトランスクリプトを形成するために、前記トランスクリプトを前記ユーザの前記好みの言語に翻訳することと;
前記会議サーバが、前記インテリジェント会議が行われているときに前記翻訳されたトランスクリプトを前記分散デバイスに提供することと;を含む、
方法。
【請求項2】
前記翻訳されたトランスクリプトを提供することは、
前記会議サーバが、前記インテリジェント会議が行われているときに前記分散デバイスへの表示のために前記トランスクリプトに翻訳されたテキストを提供することを含む、
請求項1に記載の方法。
【請求項3】
前記翻訳されたトランスクリプトを提供することは、
前記会議サーバが、前記インテリジェント会議が行われているときに前記分散デバイスの前記ユーザへの出力のために前記翻訳されたトランスクリプトのテキストを音声に変換することを含む、
請求項1に記載の方法。
【請求項4】
前記翻訳されたトランスクリプトを提供することは、
前記会議サーバが、前記トランスクリプトの各翻訳された発話に対して話者のアイデンティティを提供することを含む、
請求項1に記載の方法。
【請求項5】
前記ユーザの前記好みの言語を決定することは、
前記会議サーバが、前記ユーザのために以前に確立された前記好みの言語を示すユーザの好みにアクセスすることを含む、
請求項1に記載の方法。
【請求項6】
前記オーディオストリームが前記同じ会議からの音を表していることを決定するために前記複数の分散デバイスによってキャプチャされた前記オーディオストリームを比較することは:
前記会議サーバが、前記オーディオストリームの信号間の正規化された相互相関係数を計算することと;
前記会議サーバが、所定の閾値を超えたかどうかを決定することであって、前記所定の閾値を超えることは、前記オーディオストリームが前記同じ会議からの音を表していることを示す、決定することと;を含む、
請求項1に記載の方法。
【請求項7】
前記会議サーバが、同時に話す異なる話者からの音声を別々のオーディオチャンネルに分離するように前記複数の分散デバイスからの前記受信したオーディオストリームに連続的な音声分離を実行することをさらに含み、前記トランスクリプトを生成することは、分離された前記オーディオチャンネルに基づく、
請求項1に記載の方法。
【請求項8】
前記ユーザを識別することは:
前記会議サーバが、前記ユーザをキャプチャするビデオ信号を受信することと;
前記会議サーバが、前記ユーザを識別するために前記ユーザの記憶された画像を前記ビデオ信号とマッチングさせることと;を含む、
請求項1に記載の方法。
【請求項9】
前記ユーザを識別することは:
前記会議サーバが、前記ユーザの記憶された音声署名を前記オーディオストリームからの音声とマッチングさせることを含む、
請求項1に記載の方法。
【請求項10】
前記ユーザを識別することは:
前記会議サーバが、前記分散デバイスに関連付けられたユーザ識別子を取得することを含む、
請求項1に記載の方法。
【請求項11】
会議サーバのプロセッサによる実行のための命令であって、前記プロセッサに:
複数の分散デバイスによってキャプチャされたオーディオストリームを受信することと;
前記オーディオストリームが同じ会議からの音を表しているかどうかを決定するために前記複数の分散デバイスによってキャプチャされた前記オーディオストリームを比較することと;
前記オーディオストリームが前記同じ会議からの音を表していることを示すという前記比較
することの結果に基づいて、インテリジェント会議のための会議インスタンスを確立することと;
前記インテリジェント会議内の前記複数の分散デバイスのうちの1つの分散デバイスに対応するユーザを識別することと;
前記ユーザの好みの言語を決定することと;
前記インテリジェント会議が行われているときに受信した前記オーディオストリームからトランスクリプトを生成することと;
前記インテリジェント会議が行われているときに翻訳されたトランスクリプトを形成するために、前記トランスクリプトを前記ユーザの前記好みの言語に翻訳することと;
前記インテリジェント会議が行われているときに前記翻訳されたトランスクリプトを前記分散デバイスに提供することと;
を含む動作を実行させる、命令を有する非一時的な機械記憶媒体。
【請求項12】
前記翻訳されたトランスクリプトを提供することは、前記インテリジェント会議が行われているときに前記分散デバイスへの表示のために前記トランスクリプトに翻訳されたテキストを提供することを含む、
請求項11に記載の機械記憶媒体。
【請求項13】
前記翻訳されたトランスクリプトを提供することは、前記インテリジェント会議が行われているときに前記分散デバイスの前記ユーザへの出力のために前記翻訳されたトランスクリプトのテキストを音声に変換することを含む、
請求項11に記載の機械記憶媒体。
【請求項14】
前記翻訳されたトランスクリプトを提供することは、前記トランスクリプトの各翻訳された発話に対して話者のアイデンティティを提供することを含む、
請求項11に記載の機械記憶媒体。
【請求項15】
前記ユーザの前記好みの言語を決定することは、前記ユーザのために以前に確立された前記好みの言語を示すユーザの好みにアクセスすることを含む、
請求項11に記載の機械記憶媒体。
【請求項16】
前記オーディオストリームが前記同じ会議からの音を表していることを決定するために前記複数の分散デバイスによってキャプチャされた前記オーディオストリームを比較することは:
前記オーディオストリームの信号間の正規化された相互相関係数を計算することと;
所定の閾値を超えたかどうかを決定することであって、前記所定の閾値を超えることは、前記オーディオストリームが前記同じ会議からの音を表していることを示す、決定することと;を含む、
請求項11に記載の機械記憶媒体。
【請求項17】
同時に話す異なる話者からの音声を別々のオーディオチャンネルに分離するように前記複数の分散デバイスからの前記受信したオーディオストリームに連続的な音声分離を実行することをさらに含み、前記トランスクリプトを生成することは、分離された前記オーディオチャンネルに基づく、
請求項11に記載の機械記憶媒体。
【請求項18】
前記ユーザを識別することは:
前記ユーザをキャプチャするビデオ信号を受信することと;
前記ユーザを識別するために前記ユーザの記憶された画像を前記ビデオ信号とマッチングさせることと;を含む、
請求項11に記載の機械記憶媒体。
【請求項19】
前記ユーザを識別することは:
前記ユーザの記憶された音声署名を前記オーディオストリームからの音声とマッチングさせることを含む、
請求項11に記載の機械記憶媒体。
【請求項20】
1つ又は複数のハードウェアプロセッサと;
前記1つ又は複数のハードウェアプロセッサに結合され、プログラムを記憶したメモリデバイスであって、前記プログラムは、前記1つ又は複数のハードウェアプロセッサによって実行されると、前記1つ又は複数のハードウェアプロセッサに:
複数の分散デバイスによってキャプチャされたオーディオストリームを受信することと;
前記オーディオストリームが同じ会議からの音を表しているかどうかを決定するために前記複数の分散デバイスによってキャプチャされた前記オーディオストリームを比較することと;
前記オーディオストリームが前記同じ会議からの音を表していることを示す
という前記比較
することの結果に基づいて、インテリジェント会議のための会議インスタンスを確立することと;
前記インテリジェント会議内の前記複数の分散デバイスのうちの1つの分散デバイスに対応するユーザを識別することと;
前記ユーザの好みの言語を決定することと;
前記インテリジェント会議が行われているときに受信した前記オーディオストリームからトランスクリプトを生成することと;
前記インテリジェント会議が行われているときに翻訳されたトランスクリプトを形成するために、前記トランスクリプトを前記ユーザの前記好みの言語に翻訳することと;
前記インテリジェント会議が行われているときに前記翻訳されたトランスクリプトを前記分散デバイスに提供することと;
を含む動作を実行させる、メモリデバイスと;を有する、
会議サーバ。
【発明の詳細な説明】
【背景技術】
【0001】
事前に計画された会議は、会話を記録し、話者に帰属する(speaker attributed)トランスクリプト(transcript)を生成するために、会議の前又は会議の開始時に設定された1つ又は複数の会議ツールを使用することがある。そのような既存の会議ツールは、デバイスであって、会議テーブルに位置するデバイスの異なる側面に複数の固定話者を有するデバイスを含むことがある。このデバイスは、タワー又はコーン様形状を有することがあり、会議において人物を識別し追跡するために使用することができるビデオカメラを有することがある又はそれに関連付けられることがある。音声テキスト化(speech-to-text)アルゴリズムは、トランスクリプトを作成するために使用されることがある。オーディオビームフォーミングが、トランスクリプトにおける音声(speech)を帰属させるために、出席者のビデオと共に固定話者の既知の位置と併せて使用されることがある。
【図面の簡単な説明】
【0002】
【
図1】例示的な実施形態による複数ユーザ間の会議の斜視図である。
【0003】
【
図2】例示的な実施形態による会議で使用するユーザデバイスのブロック図である。
【0004】
【
図3】例示的な実施形態による、関連する分散デバイスを用いる2人のユーザ間のインテリジェントな会議を開始するコンピュータ実装される方法を示すフローチャートである。
【0005】
【
図4】例示的な実施形態による会議コードを使用することによって分散デバイスをインテリジェント会議に追加するコンピュータ実装される方法を示すフローチャートである。
【0006】
【
図5】例示的な実施形態によるインテリジェント会議にさらなるデバイスを追加するコンピュータ実装される方法を示すフローチャートである。
【0007】
【
図6】例示的な実施形態による臨時(ad-hoc)会議が発生していることを検出するコンピュータ実装される方法を示すフローチャートである。
【0008】
【
図7】例示的な実施形態によるユーザが会議を離れることに応答して、ユーザデバイス及び他のデバイスからオーディオチャンネルを外すコンピュータ実装される方法を示すフローチャートである。
【0009】
【
図8】例示的な実施形態による会議サーバインスタンスによって処理されるオーディオチャンネルにデバイスからのオーディオストリームを追加するためのデバイスを認証するコンピュータ実装される方法を示すフローチャートである。
【0010】
【
図9】例示的な実施形態による複数ユーザ間の会議のためにトランスクリプトを生成するためのシステムの高レベルブロックフロー図である。
【0011】
【
図10】例示的な実施形態による分散デバイスからのオーディオストリームを含む情報の分散会議サーバ処理を示す詳細なブロックフロー図である。
【0012】
【
図11】例示的な実施形態によるインテリジェント会議中に複数の分散デバイスから受信された複数のオーディオチャンネルを同期させるコンピュータ実装される方法を示すフローチャートである。
【0013】
【
図12】例示的な実施形態による分散デバイスインテリジェント会議において重複した音声を分離するコンピュータ実装される方法を示すフローチャートである。
【0014】
【
図13】例示的な実施形態による処理中に複数の選択されたポイントでオーディオストリームを融合させるコンピュータ実装される方法を示すフローチャートである。
【0015】
【
図14A】例示的な実施形態による例示的な環境(ambient)キャプチャデバイスを示す。
【0016】
【
図14B】例示的な実施形態による例示的な環境キャプチャデバイスを示す。
【0017】
【
図15】例示的な実施形態によるマイクロホンアレイの例示的な配置を示す。
【0018】
【
図16】例示的な実施形態による環境キャプチャデバイスを備えた人工知能(AI)システムを示す。
【0019】
【
図17】例示的な実施形態によるトランスクリプトを生成する際に使用するためにネットワークを介して会議サーバに送られるオーディオストリームの数を減らすコンピュータ実装される方法を示すフローチャートである。
【0020】
【
図18】例示的な実施形態によるより良好な話者識別を提供するために分散デバイスから、ビデオ及びオーディオチャンネルの両方、オーディオビジュアルデータを使用するためのコンピュータ実装される方法を示すフローチャートである。
【0021】
【
図19】例示的な実施形態による、ユーザの好み(user preference)に基づいて出力をカスタマイズするためのコンピュータ実装される方法を示すフローチャートである。
【0022】
【
図20】1つ又は複数の例示的な実施形態を実装するためのコンピュータシステムのブロック概略図である。
【発明を実施するための形態】
【0023】
以下の説明では、本明細書の一部を形成する添付の図面を参照し、その図面では、実施され得る特定の実施形態が実例として示される。これらの実施形態は、当業者が本発明を実施することを可能にするのに十分詳細に説明されており、他の実施形態が利用されてもよく、本発明の範囲から逸脱することなく、構造的、論理的、及び電気的変更が行われてもよいことが理解されるべきである。従って、例示的な実施形態の以下の説明は、限定された意味で解釈されるべきではなく、本発明の範囲は、添付の特許請求の範囲によって定義される。
【0024】
本明細書に記載した機能又はアルゴリズムは、一実施形態ではソフトウェアで実装され得る。ソフトウェアは、ローカル又はネットワーク化された1つ以上の非一時メモリ又は他のタイプのハードウェアベースの記憶デバイスなどのコンピュータ可読媒体又はコンピュータ可読記憶デバイスに記憶されたコンピュータ実行可能命令を含み得る。さらに、そのような機能は、ソフトウェア、ハードウェア、ファームウェア、又はそれらの任意の組み合わせであり得るモジュールに対応する。複数の機能は、要望通りに1つ以上のモジュールで実行され得、記載の実施形態は単なる例である。ソフトウェアは、デジタル信号プロセッサ、ASIC、マイクロプロセッサ、又は、パーソナルコンピュータ、サーバ若しくは他のコンピュータシステムなどのコンピュータシステム上で動作する他のタイプのプロセッサ上で実行され得、このようなコンピュータシステムを特別にプログラムされたマシンに変える。
【0025】
機能は、例えば、ソフトウェア、ハードウェア、ファームウェアなどを使用して動作を実行するように構成することができる。例えば、「構成される」という用語は、関連する機能を実装するためのハードウェア要素の論理回路構造を指すことができる。「構成される」という用語はまた、ファームウェア又はソフトウェアの関連機能のコーディング設計を実装するためのハードウェア要素の論理回路構造を指すことができる。「モジュール」という用語は、任意の適切なハードウェア(例えば、プロセッサなど)、ソフトウェア(例えば、アプリケーションなど)、ファームウェア、又はハードウェア、ソフトウェア、及びファームウェアの任意の組み合わせを使用して実装することができる構造要素を指す。「論理」という用語は、タスクを実行するための任意の機能を包含する。例えば、フローチャートに示された各動作は、その動作を実行するための論理に対応する。動作は、ソフトウェア、ハードウェア、ファームウェアなどを使用して実行することができる。「コンポーネント」、「システム」などの用語は、コンピュータ関連エンティティ、ハードウェア、及び実行中のソフトウェア、ファームウェア、又はそれらの組み合わせを指し得る。コンポーネントは、プロセッサ上で実行されているプロセス、オブジェクト、実行可能ファイル、プログラム、関数、サブルーチン、コンピュータ、又はソフトウェアとハードウェアの組み合わせであり得る。「プロセッサ」という用語は、コンピュータシステムの処理ユニットなどのハードウェアコンポーネントを指し得る。
【0026】
さらに、請求項に係る主題は、開示された主題を実装するためにコンピューティングデバイスを制御するように、ソフトウェア、ファームウェア、ハードウェア、又はそれらの任意の組み合わせを生成するために、標準的なプログラミング技術及びエンジニアリング技術を用いて、方法、デバイス、又は製造品として実現され得る。本明細書で使用される「製造品」という用語は、任意のコンピュータ可読記憶デバイス又は媒体からアクセス可能なコンピュータプログラムを包含することを意図している。
【0027】
ユーザと呼ばれる個人は、いつでも会話又は会議を始めることができる。会議が予定されている場合は、会話を記録し、後の参照のために会話のトランスクリプトを作成する手配をすることができる。しかし、臨時会議には、通常、そのような準備は含まれない。会議を中止する、あるいは、会話を記録し、トランスクリプトを作成するための準備をする方法を設定するために時間を割くことは、混乱させることがある、又は会議中に考えられないこともある。加えて、臨時会議は会議室の外で行われることが多い。このような場合、会議用に特別に設計された記録デバイスは利用できない。
【0028】
会話中に、会話のオーディオは、分散デバイスと呼ばれる、ユーザが携帯しているデバイスによってキャプチャされ得る。例示的な実施形態では、キャプチャされたオーディオ信号は、複数のユーザが会議と呼ばれる会話をしていることを認識するために、無線チャンネルを介して会議システムに送信され、会議は計画されていてもいなくてもよい。会議が計画されていない場合、それは臨時会議と呼ばれる。
【0029】
会議が検出される又はその他の方法で準備されたことに応じて、会議システム上に会議インスタンスが生成され、話しているユーザからの音声を認識し、会議の記録を生成する。複数の分散デバイスからの複数の音声の信号は、別々のオーディオチャンネルとして受信され、トランスクリプトを生成するために使用される。分散デバイスは、パーソナルユーザデバイス(例えば、スマートフォン)と、デジタルアシスタント、カメラ、及び会話の範囲内でオーディオ及び/又はビデオを受信することができる任意のタイプのデバイスを含む他のデバイスとを含み得る。
【0030】
いくつかの実施形態では、会議は、会議アプリケーションを介して単一デバイス上のボタンを1回押すことによって作成することができる。他のデバイス及びデバイスを持つユーザは、会議アプリケーションを介してユーザデバイスに表示されたボタンを押すことを通じて、又は(例えば、部屋に存在する既存の会議デバイスを)使用していないときに募集されることによってのいずれかで、会議に参加することができる。会議参加者は、音声指紋、参加しているデバイスの所有者であること、顔認識、又は(例えば、遠隔参加者の場合)任意の時点で会議アプリケーションを介してユーザを手動で追加することによって推測される(例えば、識別される)。
【0031】
会議が確立され得る多くの方法がある。いくつかの実施形態では、スマートフォンのような分散デバイスは、それぞれのユーザと関連付けられ、デバイス上のマイクロホンから受信したオーディオを会議システム又はサーバにストリーミングするために使用される会議アプリケーションを含む。近くのデバイスから受信したオーディオは、周囲のノイズ及び/又はデバイスの近くで発生した音の組み合わせに基づいたオーディオシグネチャ(audio signature)を有する。2つのユーザデバイスがそれぞれのオーディオストリーム(オーディオチャンネル)を介して同様のオーディオシグネチャを提供することに応答して、会議システムは、会議が発生している可能性があることを認識し、受信したオーディオを処理するための会議インスタンスを作成する。ユーザは、会議アプリケーションを介して、会議に参加するよう促され得る。代替的には、例えば、位置情報、事前インタラクション、カレンダー情報、又は最近の電子メールインタラクションのような他の情報を使用して、両方のユーザ又はさらに第三のユーザが会議インスタンスに追加されるべきであることを確認し得る。
【0032】
さらなる実施形態では、オーディオ透かし(audio watermark)が、ユーザデバイスの1つ又は複数によって生成される。オーディオ透かしは、オーディオシグネチャを含む、又はオーディオシグネチャは別々に検出され得る。オーディオ透かしは、20Khz以上のようなユーザの通常の可聴域を超える周波数を有するサウンドパターンであり得る、又は会話を妨げないようにユーザに目立たないサウンドであり得る。さらなる実施形態では、透かしは、完全に可聴且つ認識可能であり得る。透かしは、いくつかの実施形態では、会話中に会議インスタンスが作成されることを確実にすることを望むユーザによって送信されるように選択され得る。透かしは、範囲内の分散デバイスによって受信され、自動的又はオプションで会議インスタンスに追加される。透かし音の範囲内のデバイスはまた、追加のオーディオチャンネルとして会議インスタンスにそれらのオーディオストリームを追加し得る。
【0033】
いくつかの実施態様では、会議コードが生成され、計画された又は臨時の会議に彼らを追加するために他のユーザに送信される。会議コードはまた、予定されている会議に先立って選択され、会議の招待状で使用され得る。会議システムは、ユーザデバイスから会議コードを受信すると、そのようなユーザデバイスからのオーディオストリームを一旦インスタンス化された会議に追加する。
【0034】
例示的な実施形態は、分散システムにおいてユーザの好みに基づいてカスタマイズされた出力を提供するためのシステム及び方法を提供する。例示的な実施形態では、会議サーバ又はシステムは、インテリジェント会議に関与する複数の分散デバイスからオーディオストリームを受信する。会議システムは、複数の分散デバイスのうちの1つの分散デバイスに対応するユーザを識別し、ユーザの好ましい言語を決定する。受信したオーディオストリームからのトランスクリプトが、会議が行われるにつれて生成される。会議システムは、翻訳されたトランスクリプトを形成するために、トランスクリプトをユーザの好ましい言語に翻訳する。翻訳されたトランスクリプトは、ユーザの分散デバイスに提供される。例示的な実施形態では、翻訳されたトランスクリプトは、会議が行われているときにリアルタイム(又はほぼリアルタイム)で提供される。翻訳されたトランスクリプトは、テキスト(例えば、ユーザのデバイス上に表示される)によって提供される又はオーディオとして(例えば、スピーカ、補聴器、イヤピースを介して)出力されることができる。いくつかの実施形態では、翻訳の代わりに又はそれに加えて、他のタイプの変換が、オリジナルのトランスクリプトに、翻訳されたトランスクリプトに、又は翻訳された音声オーディオ(speech audio)に適用され得る。
【0035】
図1は、複数ユーザ間の会議100の斜視図である。第1のユーザ110は、音声を含むオーディオをキャプチャするためのマイクロホンを含む第1のデバイス115を有する。第2のユーザ120は、これもまた音声を含むオーディオをキャプチャすることができる第2のデバイス125を有する。ユーザは、1つの例示的な会議100においてテーブル130に着席し得る。
【0036】
第1及び第2のデバイス115及び125(「多数の分散デバイス」又は「複数の分散デバイス」とも呼ばれる)は、トランスクリプトの処理及び生成のために、キャプチャされたオーディオを会議サーバ135に送信する。会議は、予定外であったという点で、臨時であり得る。例えば、ユーザは、休憩中に互いに出会う又は廊下でたまたま出会い、自分が取り組んでいるプロジェクトについて話し合うことを決断することがある。会議アプリケーション(「会議アプリ」とも呼ばれる)は、第1及び第2のデバイス115及び125の両方で動作している可能性がある。会議アプリは、会議サーバ135にオーディオを提供するために使用され得る。
【0037】
会議サーバ135は、両方のデバイスが:類似のオーディオシグネチャを有するオーディオ、類似のオーディオ透かし、両方のデバイスによって提供される類似の会議コード、又はユーザ間で進行中の議論を示す他の情報を送信していること検出する。これに応答して、会議サーバ135は、受信したオーディオを処理し、トランスクリプトを生成するために会議インスタンスを生成する。
【0038】
様々な実施形態では、透かしは、会議100に対応する会議インスタンス又は会議コードを識別する、約20kHzの人間の可聴域を超えるエネルギのみを有する、又は、他の方法で聞こえない、目立たない、若しくは、注意をそらさない任意のタイプの音であり得る。透かしは、さらなる実施形態における会議インスタンスの会議コード又は他の識別子をエンコードする音であり得る。
【0039】
会議100は、計画されているか臨時であるかを問わず、2人より多い人を含み得る。第3のデバイス145を有する第3のユーザ140もまた、会議100に参加し得る。第3のデバイス145もまた、分散会議サーバ135にオーディオを提供する。オーディオは、最初の2のユーザ/デバイスが会議100に関与していることを認識するために記載されたのと同じメカニズムのうちの1つ又は複数によって、会議100に関与していると認識される。
【0040】
分散デバイスの所有者/ユーザは、会議サーバ135によって認識されることになるアプリを介して自身を登録し得る。ユーザは、音声サムプリント又は指紋と呼ばれる音声プロファイルを有して又は作成して、会議サーバ135が入ってくる言語音(speech sound)をユーザに関連付けるのを助け得る。ランダムな人物が会議100に参加する場合、会議サーバ135は、その人物が知られていないことを認識し、すでに会議中のユーザの1人以上にその人の名前についてプロンプトを出す。代替的には、会議サーバ135は、会議中の既知のユーザに関連付けられた組織のデータベースを検索して、その人とプロファイルを一致させる。その人が不明又はその他の方法で特定されない場合、その人は、作成されたトランスクリプトにおいて、話者1、話者2などのラベル又はタグで識別され、その人が後に名前を挙げられた場合に、そのトランスクリプトを修正することを容易にする。ユーザは誰でも、会議中又は会議後いつでも話者ラベルに名前を割り当て得る。既に会議に参加している者の既知又は頻繁な連絡先を用いて、人物を特定するプロセスを最適化するために人物を最初に確認するために使用されるプール/データベースを削減し得る。
【0041】
デジタルアシスタント148又は専用会議デバイス150のような、会議100のオーディオ又はビジュアル範囲内にある追加のデバイスがあってもよく、それらの両方はテーブル130に示されているが、会議100のオーディオ範囲内のどこにでもあることができる。このような追加のデバイスは、分散会議サーバ135に接続され、会議サーバ135上で実行される会議インスタンスのオーディオ及び音声テキスト化処理能力をさらに向上させるために、処理するためにそれらのオーディオストリームを会議インスタンスに追加し得る。このような追加のデバイスは、会議サーバ135によって検出され、上記のように会議に追加され得る、又は会議に追加するためのオプションとしてユーザの1人以上に提示され得る。
【0042】
ビデオカメラ155又は他の画像キャプチャデバイスが、会議100(又は会議100の一部)を包含する視野を有し得る。会議サーバ135は、カメラ155が会議100の近くにあることを認識しており、ユーザの1人以上に指示を提供し得、カメラ155から情報を得るためのオプションを提供し、トランスクリプトの処理及び提供をさらに強化するために会議インスタンスに情報を提供し得る。例えば、カメラ155は、どのユーザが話しているかを検出するために、又は少なくとも、ユーザがある特定の時点で話している可能性が高い情報を提供するために使用され得る。
【0043】
図2は、会議で使用するためのユーザデバイス200のブロック図である。会議に参加する他のデバイスは、同様のコンポーネントのセットを有し得る。デバイス200は、少なくとも1つのマイクロホン210と、メモリ225に記憶された会議アプリ220を実行するためのプロセッサ215とを含む。トランシーバ230が、カメラ235から分散会議サーバ135へオーディオ及び/又はビデオをストリーミングするために使用される。また、ユーザデバイス200は、タッチスクリーン240のような表示スクリーンを有し得、その一部が示されている。
【0044】
会議に参加している可能性のあるデバイスは、カレンダーエントリ、現在の場所、NFC(電話を非常に近づける)、Bluetooth(登録商標)アドバタイジング(advertising)、及び生成され会議100に関連付けられ得る会議コード又はその他のコードを介した直接招待によって識別することができる。
【0045】
会議サーバ135は、複数の会議インスタンスを介していくつかの会議を同時に処理し得る。各会議インスタンスは、会議コード、ストリーミングオーディオであるデバイスの識別子、会議に参加しているユーザの識別子(ユーザ関連デバイスを介して、又は顔認識、音声認識、若しくはユーザを認識する他の手段によって会議サーバ135によって他の方法で認識される)のような会議識別子を含み得る。
【0046】
図3は、関連する分散デバイスを有する2人のユーザ間のインテリジェントな会議を開始する方法300を示すフローチャートである。動作310において、オーディオ透かしは、第1の分散されたデバイスに関連するマイクロホンを介して第1の分散されたデバイスで受信される。一実施形態では、オーディオ透かしは、会議中に第2の分散デバイスに関連する話者によって送信される。
【0047】
受信したオーディオ透かしに対応するデータは、動作320において、第1の分散デバイスを介して分散デバイス会議サーバに送信される。いくつかの実施形態では、受信したオーディオ透かしは、まずデジタル形式に変換され、これは、単にオーディオ透かしを音声のデジタル表現への直接変換であり得る又はオーディオ透かしを発した会議又は第2の分散デバイスを識別するデータを得るためのオーディオ透かしのデコーディングを含み得る。
【0048】
分散会議サーバから、動作330において、第1の分散デバイスが分散デバイス会議サーバ上の会議インスタンスに受け入れられた旨の指示(indication)が受信される。
【0049】
第1の分散デバイスは、動作340において、受信された指示に応答して、分散デバイス会議サーバ上の会議インスタンスに会議のオーディオをストリーミングする。受信された指示インディケーションは、使用する通信チャンネルを識別する情報を含み得る、又は、オーディオストリームは、会議サーバがオーディオストリームを正しい会議インスタンスに導くために使用するストリーミングデバイスを単純に識別し得る。
【0050】
図4は、会議コードの使用によってインテリジェント会議に分散デバイスを追加する方法400を示すフローチャートである。いくつかの実施態様では、会議コードは、方法300で議論されるように透かしでエンコードされる。動作410では、会議コードが、第1の分散ユーザデバイスによってユーザ間の会議のために受信又は生成される。第1の分散ユーザデバイスは、会議インスタンスを実行する会議サーバからコードを受信し得る、又は第1の分散ユーザデバイスは、第1の分散ユーザデバイス上で実行される会議アプリを介して会議コードを生成する。
【0051】
コードは、動作420において、第2の分散ユーザデバイスに送信される。コードは、電子メール、テキスト、又はデータを電子的に送信する他の手段を介して送信され得る、又は可聴信号(オーディオ透かし)としてエンコードされて、第1の分散ユーザデバイスのようなユーザデバイスのうちの1つの話者を介してのように、参加するデバイスの残りに音響的に送信され得る。
【0052】
第2の分散されたユーザは会議サーバ会議インスタンスに会議コードを提供し、それにより会議コードは動作430において少なくとも1つの第2の分散ユーザデバイスを識別するために使用される。第2の分散ユーザデバイスは、動作440において、第1の分散ユーザデバイスと第2の分散ユーザデバイスの両方から会議サーバ会議インスタンスに音声をストリーミングする。
【0053】
会議は、複数のユーザ間又は複数のユーザデバイス間の臨時会議であり得、会議コードは、臨時会議が開始された後に生成される。また、会議に参加している関連するユーザデバイスを持たないユーザがいる場合もあることに留意されたい。他のユーザデバイス及びユーザに関連づけられていないデバイスは、検出されたデバイスの位置に基づいて識別され得る。そのようなデバイスからのデータは、他の近くのデバイスのリストをユーザ(複数可)に提供することによって、それらのデータストリームを会議インスタンスに追加させ得、会議インスタンスに追加するためにアプリのユーザインターフェースを介してそのようなデバイスを選択することを可能にし得る。会議に参加する可能性のあるデバイスは、カレンダーエントリ、現在の場所、NFC(電話を非常に近づける)、Bluetoothアドバタイジング、及び直接招待によって識別することができる。
【0054】
さらなる実施形態では、会議は、複数のユーザ又は複数のユーザデバイス間で計画された会議であり、会議コードは、計画された会議が開始される前に生成される。会議コードは、ユーザデバイスの各々に送信され、対応するアプリによって、会議中にそのようなデバイスからのデータストリームを追加するために、会議サーバ会議インスタンスにデバイスを識別するために使用される。
【0055】
図5は、インテリジェント会議にさらなるデバイスを追加するコンピュータ実装される方法500である。動作510において、会議サーバは、分散デバイスのグループからオーディオストリームを受信し、このオーディオストリームは、2人以上のユーザの会議中に、そのような分散デバイスのグループによって検出される音声を含む。
【0056】
会議サーバは、動作520において、追加の又は新規の分散デバイスから、会議に対応する会議情報を受信する。新しいデバイスは、会議に参加したばかりのユーザのユーザデバイスであり得る、又は、新しいデバイスは、インテリジェント会議の部屋又はその他の範囲内にあるデバイスであり得る。
【0057】
動作530において、追加の分散デバイスが会議サーバ会議インスタンスに追加される。追加の分散デバイスからの情報のストリームは、追加の分散デバイスの追加に応答して、動作540において受信される。
【0058】
図6は、臨時会議が発生していることを検出するコンピュータ実装される方法600を示すフローチャートである。動作610において、オーディオストリームが、2人のユーザ間の臨時会議の間に検出されるオーディオをストリーミングしている少なくとも2つの分散デバイスから会議サーバで受信される。
【0059】
オーディオストリームは、動作620において比較され、オーディオストリームが臨時会議からのサウンドを表すものであることを決定する。オーディオストリームは、例えば、2つの信号間の正規化された相互相関係数を計算することによって比較され得る。結果が所定の閾値を超える場合、オーディオストリームは、同じ臨時会議からである可能性が最も高い。選択される閾値は、0から1の間の数字であり得、異なる環境でのいくつかの会議シナリオの間に実施されたテストに基づいて経験的に選択され得る。選択は、偽陰性及び偽陽性の所望のバランスを得るために実施され得る。ストリームが同じ会議からのものであるというその他の指示には、デバイスの位置が同じであることを含む。さらに、指示は、過去に複数のインタラクションがあったユーザ、同じ組織内にいるユーザ、及びユーザが出会う可能性が高い他の指示を含む。オーディオストリームから生成されたテキストを比較することによって、さらなる検証が得られることができる。
【0060】
ストリームが正常に比較されると、会議ID/コードが生成され、より多くの参加者を追加するために使用され得る。他の参加者は、既に会議中のオーディオストリームと正常に比較されたさらなるデバイスストリーミングオーディオに応答して追加され得る。デバイスが追加されると、デバイスは、pingのような、会議に参加することを示す信号を生成し得る。
【0061】
会議サーバは、オーディオストリームが臨時会議からのサウンドを表すという決定に応答して、オーディオストリームを処理するために、動作630において会議インスタンスを生成する。いくつかの実施形態では、ユーザは、それぞれのデバイスからのオーディオストリームが会議インスタンスに追加される前に認証される。認証は、会議アプリのユーザ確認、カレンダー情報、組織図、会議コードの使用、既に会議中のユーザとの接触/関係の程度、及びその他の認証手段に基づき得る。
【0062】
動作640において、オーディオストリームは、臨時会議のトランスクリプトを生成するように処理される。一実施形態では、会議サーバ135は、デバイス及び/又は関連するユーザが会議を離れたときを検出し、会議インスタンスからそのデバイスからのオーディオストリーム/チャンネルを外す(removes)。デバイスに関連する参加者が会議を離れるとき、会議サーバ135は、会議中のデバイスに関連するオーディオ信号の欠如を検出し、デバイスを会議から外す。代替は、会議アプリを介してユーザが退場することを通知すること、会議アプリを閉じること、デバイスの位置が会議の場所の近くにもはやないことを検出すること、デバイスからのビデオストリーム内に対応するオーディオ透かしがないことを検出すること、デバイスが受け取ったオーディオシグネチャがもはや他のデバイスのオーディオストリームのオーディオシグネチャと一致しないことを検出すること、又は、ユーザが会議室又は会議が行われている場所から離れている又は離れたことを検出するためにビデオ信号からの画像に画像認識を実行することを含む。同様に、会議インスタンスは、単一のユーザデバイスが残っている又は単一ユーザデバイスが残っていることに応答して結論付けることができる。
【0063】
図7は、ユーザデバイス及び他のデバイスのオーディオチャンネルを対応するユーザが会議を離れることに応答して外すコンピュータ実装される方法700を示すフローチャートである。動作710において、分散デバイス会議からオーディオを受信する分散デバイスのグループから受信される対応する複数のオーディオチャンネル上の複数のオーディオ信号が、会議サーバインスタンスによって処理される。会議サーバインスタンスは、上述のように、分散デバイスのグループの第1のデバイスに関連する第1のユーザが分散デバイス会議を離れたことを検出するために、動作720において使用される。動作730において、第1の分散デバイスのオーディオチャンネルは、それに応じて、会議サーバインスタンスによって処理されている複数のオーディオチャンネルから外される。
【0064】
図8は、デバイスを認証し、デバイスからのオーディオストリームを、会議サーバインスタンスによって処理されるオーディオチャンネルに追加するコンピュータ実装される方法800を示すフローチャートである。方法800は、会議中に複数のユーザから音声を受信する複数の分散デバイスから会議サーバでオーディオストリームを受信することによって、動作810において始まる。受信されたオーディオストリームは、動作820において、オーディオストリームに含まれる音声に基づいてトランスクリプトを生成するために会議サーバ上で実行している会議インスタンスを介して処理される。
【0065】
動作830において、情報が、第1の追加ユーザに関連する第1の追加の分散デバイスから会議サーバで受信され、この情報は、ユーザ間の会議に対応する。この情報は、ユーザのデバイスを追加するリクエストに対応し得る、又は、このようなデバイスからのオーディオストリームが透かし又はオーディオシグネチャを含むことに注目することによる暗黙のリクエストであり得る。
【0066】
動作840において、第1の追加の分散デバイス又は関連するユーザは、認証されるか、又は他の方法で会議に参加するために権限を与えられる。参加者は、音声フィンガープリント、会議主催者の受諾、会議コード及び/又は新規コードを使用すること、参加者のデバイスの検出された位置、デバイスID及び/又は関連するユーザIDの認可リストとの比較、組織メンバーのチェック、主催者による受諾を必要とする閉鎖会議フラグの使用、又は上記の1つ以上の組み合わせに基づいて会議に参加する権限を与えられる。方法800はまた、会議に参加するための最初の2つのデバイスに適用され得、また、会議室内の会議アシスタントタイプのデバイス又は会議の視野を有するビデオカメラのような、ユーザに直接関連付けられないデバイスにも適用され得ることに留意されたい。
【0067】
追加の分散デバイス又は関連するユーザの認証に応答して、第1の追加の分散デバイスは、動作850において、そのオーディオストリームを会議インスタンスに追加する。
【0068】
いくつかの実施形態では、リモート参加者は、Microsoft Skype又はTeamsのような通信プラットフォーム、電話ダイヤルイン、又は他の電話会議アプリケーションを介して会議に接続され得る。Skypeのようなリモート会議プラットフォームを使用する場合、事前に送信されたリンクに従うことによって会議に参加し得る。ダイヤルインでは、一意の電話番号や会議コードなどのアクセスコードが共有され得る。リモートオーディオチャンネルが会議用のサーバに接続されると、会議エリアからのオーディオストリームと同様の方法で処理される。話者IDは、サインインプロセスに基づいて知られる。オーディオストリームは、単一のユーザ/話者用であり得、これは、スピーカーホンが複数のリモートユーザと共に使用されない限り、音声分離は必要とされないことを意味する。スピーカーホンによって再生され、会議中の近くの分散デバイスによって検出されたオーディオは、そのような近くの分散デバイスのオーディオストリームからキャンセルされ得る。
【0069】
図9は、複数のユーザとの会議のためのトランスクリプトを生成するためのシステム900の高レベルブロックフロー図である。ユーザは各々、関連する(分散)デバイス910、912、914を有し得、これらデバイスは、会議における種々のユーザによる音声を含むオーディオをキャプチャし、キャプチャされたオーディオをオーディオチャンネル916、918、及び920それぞれを介して、少なくとも会議トランスクライバ925を含む会議サーバにオーディオ信号として供給するためのマイクロホンを備えている。異なるデバイスは、わずかに異なるクロックサイクル及び異なる量の処理レイテンシを有し得る。加えて、各デバイス-サーバ間接続チャンネルは、別個のレイテンシを有し得る。したがって、オーディオチャンネル916、918、及び920からのオーディオ信号は、必ずしも同期されない。
【0070】
会議トランスクライバ925は、音声認識モジュール又は機能に加えて、同期モジュール又は機能を含む。オーディオチャンネル916、918、及び920からのオーディオ信号は、最初に同期され、次いで認識され、一実施形態に従ってチャンネルの各々に関連するテキストを生じる。次いで、認識出力は、(融合930によって)融合されるか、又は別の方法で処理されて、トランスクリプト940を生成する。次いで、トランスクリプト940はユーザに戻って提供され得る。他の実施形態では、オーディオチャンネル916、918、及び920からのオーディオ信号は、音声認識前に融合される。融合後に得られたオーディオ信号が認識され、テキストの単一バージョンが生成される。いくつかの実施形態では、トランスクリプトは、非常にわずかな遅延で提供され得る。
【0071】
種々の実施形態では、話者識別と共に使用されるオーディオ信号のテキストへの変換及び話者を識別するためにダイアライズされた(diarized)トランスクリプトの生成は、会議サーバ135によって提供される。会議サーバ135によって実行される機能には、同期、認識、フュージョン、及びダイアリゼーション(diarization)機能が含まれる。このような機能は、
図9では特定の順序で示されているが、異なる実施形態では、機能は、異なる順序で実行されてもよい。例えば、融合は、認識の前に実行され得、以下に記載されるように、様々な他のポイントで実行することもできる。
【0072】
図10は、概して方法1000において、分散デバイスからのオーディオストリームを含む情報を処理する会議サーバを示す詳細なブロックフロー図である。複数のオーディオデータストリーム1005は、複数の分散デバイスから受信される。ストリームは、データパケットのM個の独立したシーケンスを含む。m番目のシーケンスの各パケットは、m番目のデバイスによってキャプチャされるデジタル化されたオーディオ信号のセグメントを含む。受信したパケットはアンパックされ、パケットからのデータはマルチチャンネル信号を生成するために再編成される。マルチチャンネル信号は、{[x
0(t),...,x
M-1(t)];t=0,1,...}として表され得る。
【0073】
マルチチャンネル信号における異なるチャンネルのデジタル化された信号は、分散されたデバイスの多くがデジタル信号処理の差を受け、デバイス上のソフトウェアレイテンシの差を受け、信号伝送速度の差を受けやすいので、同期されない可能性が高い。これらの差はすべて合計することができ、正確なトランスクリプトを作り出すために、異なるデバイスからの情報を統合することを困難にする。ストリーム同期モジュール1015は、マルチチャンネル信号を受信し、チャンネルのうちの1つを基準チャンネルとして選択する。一般性を損なうことなく、第1のチャンネルを基準チャンネルとして使用することができる。基準チャンネルについて、出力は入力と同じ(すなわちy0(t)=x0(t))。m番目のチャンネル(0<m<M)について、xm(t)とx0(t)との間のミスアライメント(misalignment)の量が推定され、ym(t)を生成するように補正される。
【0074】
ミスアライメントの程度は、非基準チャンネル信号のスライディングウィンドウを使用して2つの信号間の正規化された相互相関係数を計算し、最大係数値を提供する遅れをピックアップすることによって推定することができる。これは、基準チャンネルと他のチャンネルの各々との間で相互相関分析が個別に行われる音響信号セグメントを一時的に記憶するバッファを使用することによって実現することができる。正規化された相互相関の代わりに、2つの信号間のアライメントの程度を測定する任意のスコア関数を使用することができる。
【0075】
一実施形態では、隣接する同期サイクル間の関係が考慮される。ミスアライメントは、デバイス/チャンネル依存のオフセット及びデバイス依存のクロックドリフトの2つの要因によって引き起こされる。2つのデバイスが音響イベントを同時にキャプチャしている場合でも、個々のデバイスによってキャプチャされる信号は、デジタル信号処理の差、デバイス上のソフトウェアレイテンシの差、信号伝送速度の差などのために、異なる時間に会議サーバに到着することがある。これは、デバイス/チャンネル依存のオフセットである。また、異なるデバイスは、製造のばらつきのために、必然的にわずかに異なるクロックを有する。従って、たとえ2つのデバイスが、例えば16kHzのサンプリングレートをサポートすると主張したとしても、これらのデバイスによって記録される信号は、100%整列されず、不整合の量は、時間が経過するにつれて直線的に増加する。これは、デバイス依存のクロックドリフトである。デバイス/チャンネル依存のオフセットとデバイス依存のクロックドリフトをSとDとして示す。k番目の同期サイクルの時差をS+kDとして示す。したがって、SとDの推定値は、ミスアライメントの程度S+kDのロバストな推定値を提供する。
【0076】
ミスアライメントの量は、上述の相互相関を用いてミスアライメントを定期的に検出し、そのように検出されたミスアライメントを補正することによって補正され得る。加えて、測定されたミスアライメントの量を低減するために、グローバル(global)オフセット(デバイス/チャンネル依存の)及びデバイス依存のクロックドリフトを計算して、ミスアライメントの程度を推定する。グローバルオフセットは、相互相関によってミスアライメントを測定及び補正する前に、グローバルミスアライメントを補正するために使用され得る。グローバルオフセットは、時間にわたる測定されたミスアライメントの平均として決定され得、おそらく、デバイス内のクロックドリフトの結果である。従って、ミスアライメントの程度は、一実施形態によれば、基準チャンネルからの差を単に考慮することによって推定及び補正される。ストリーム同期が、例えば30秒毎のように、様々な間隔で行われ得る。ネットワークレイテンシが変化し得るとき、さらなる実施形態では、30秒未満又は30秒を超える他の間隔が使用され得る。
【0077】
ストリーム同期モジュール1015は、マルチチャンネル同期信号{[y0(t)、...、yM-1(t)];t=0、1、...}をビームフォーミング(beamforming)モジュール1020に提供する。ビームフォーミングモジュール1020は、重複する音声を分離するように機能する。重複する音声は、会議中の2人が同時に話すことで生じる。音声を認識し、音声をテキストに変換する前に、音声はまず別々のチャンネルに分離される。したがって、Mチャンネル入力では、出力はNチャンネルであり、Nチャンネルビーム形成信号{[z0(t),...,zN-1(t)];t=0,1,...}と呼ばれる。ストリーム同期モジュール1015は、入力情報のダイバーシティを保持するために複数の出力が生成される第1の融合点として作用する。音声が重複しない場合、このような融合はオプションである。
【0078】
図11は、インテリジェント会議中に複数の分散デバイスから受信した複数のオーディオチャンネルを同期させるコンピュータ実装される方法1100を示すフローチャートである。動作1110において、ストリーミングされる音声を表すオーディオ信号が、複数のオーディオチャンネルを生成ために複数の分散デバイスから受信される。オーディオチャンネルのうちの選択された1つは、動作1120において基準チャンネルとして指定される。
【0079】
基準チャンネルが指定されると、残りのオーディオチャンネルの各々に対して以下の動作が実行される。動作1130において、基準チャンネルからの時間の差が決定される。各残りのオーディオチャンネルの時間は、動作1140において、対応する時間の差の関数として、残りのオーディオチャンネルを基準チャンネルと位置合わせすることによって補正される。これは、単に余分なサンプルを落とす、ゼロを追加する、又は再サンプリング技術を使用することによって行うことができる。
【0080】
方法1100は、30秒毎など、残りのオーディオチャンネルのタイミングを補正するために、周期的に実行され得る。一実施形態では、方法1100は、少なくとも分散デバイス内の異なるクロックによって引き起こされるグローバルオフセットを補正するためのさらなる動作を含む。動作1150において、残りのオーディオチャンネルの各々についてグローバルオフセットが決定される。次いで、残りのオーディオチャンネルは、動作1160において、決定された時間差について各残りのオーディオチャンネルを補正する前に、各対応する残りのオーディオチャンネルのグローバルオフセットによって補正される。
【0081】
音響ビームフォーミング、又は単にビームフォーミングは、マルチチャンネルオーディオ信号からのバックグラウンドノイズのような不要な音を低減することによって、ターゲット音声を強化する技術である。ビームフォーミングは、音声認識及び話者ダイアリゼーションのような、下流の音声処理の精度を改善することができる。
【0082】
互いに対する正確な位置が知られていない複数の分散デバイスからストリームされたオーディオとのインテリジェント会議では、遅延和(delay-and-sum)ビームフォーミング、超指向性ビームフォーミング、及び差動ビームフォーミングのような従来のビームフォーミングアルゴリズムは機能しない。このようなアルゴリズムは、マイクロホンデバイスの配置に関する事前知識に依存しており、これは分散デバイスでは利用できない。
【0083】
一実施形態では、ジオメトリ非依存(geometry-agnostic)ビームフォーミング、又はブラインドビーム成形と呼ばれるアプローチが、分散記録デバイスのためのビームフォーミングを実行するために使用される。M個のオーディオチャンネルに対応するM個のマイクロホンデバイスを考えると、音声と背景雑音のM次元空間共分散行列を直接推定される。行列は音声と雑音の空間統計をそれぞれキャプチャする。音響ビームを形成するために、M次元空間共分散行列の逆行列が求められる(inverted)。
【0084】
ビームフォーミングアプローチの欠点は、従来のジオメトリベースのビームフォーミング又はブラインドビームフォーミングであれ、典型的には、情報ストリームの数をMから1に減少させることであり、これは、下流のモジュールが空間的に分散されたデバイスによって提供される音響ダイバーシティを利用できないことを意味する。M個のビームフォーミングされた信号を生成し、音響ダイバーシティを保持するために、リーブワンアウト(leave-one-out)アプローチを取ることができる。このアプローチでは、第1の出力信号は、マイクロホン2-Mを使ってビームフォーミングを行うことによって生成される。第2の出力信号は、マイクロホン1-M及び3-Mを使って生成される。M個の異なる出力信号が得られるように、これをM回繰り返すことができる。各ビームフォーミングに対して、(M-1)次元空間共分散行列が計算され、逆行列が求められ、これは非常に計算量が多い(very computational demanding)。幸いなことに、計算コストは、オリジナルのM次元逆行列からすべての(M-1)次元逆行列を導出することにより、著しく低減できる。
【0085】
いくつかの実施形態において、ビームフォーミングモジュール1020は、異なるユーザの重複する音声信号を分離するように構成され得る。これにより、音声認識及び話者帰属をより正確にすることができる。一実施形態では、分散マイクロホン記録システムのための連続的な音声分離は、ディープクラスタリング又はアトラクタネットワークなどの順列不変(permutation invariant)トレーニング又はその変形を用いてトレーニングされるニューラルネットワークを介して実行される。計算を潜在的に節約するために、重複検出を使用して、音声分離ニューラルネットワークが各時間の期間に対して実行されるべきか否かを決定し得る。もし、重複した音声が選択された期間に検出されない場合、ニューラルネットワークは実行されず、処理リソースを節約し、リアルタイムでより迅速にトランスクリプトが生成されることを可能にする。
【0086】
音声分離ニューラルネットワークモデルは、入力マイクロホンの数が任意であり、時間を通じて変化することができる分散マイクロホン記録システムのために連続的な音声分離を実行するために実行される。モデルは、2つの音声の連続ストリームを出力する。1人のアクティブな話者(active speaker)がいる場合、出力ストリームの1つは静かであるが、2人の話者の間に重複する音声がある場合、各話者は別個の出力ストリームを占有する。
【0087】
例示的な実施形態では、音声分離ニューラルネットワークモデルは、3つのサブモジュール、すなわち、ローカルオブザーバ、グローバルサマライザ(global summarizer)、及びマスク再構成器(mask reconstructor)を含む。マルチチャンネル入力は、これらの3つのサブモジュールによって連続的に処理される。最初に、同じローカルオブザーバが各入力マイクロホンに適用される。ローカルオブザーバは、各マイクロホン入力を高次元表示にマッピングする、積み重ねられたアテンション層(stacked attention layers)のセットを含み、各チャンネルは、他のすべてのチャンネルから情報をクロス比較し、抽出する。2つの異なるアテンションが実装され、これらは、セルフアテンションとフィードフォワードアテンションである。
【0088】
次に、グローバルサマライザが、各オブザーバーからの情報を要約し、異なる入力チャンネルにわたるグローバル表現を形成するために適用される。グローバルサマライザのための2つのオプション、すなわち平均プーリングと順列不変ソートアルゴリズムが考えら、ここでは、各チャンネルの表現は、ローカル順列とグローバル順列を整列させるための順列不変損失と比較される。サマライゼーション層(summarization layer)が存在しない場合、各チャンネルがそれ自身の分離(すなわち、チャンネル間のグローバルな分離合意がない)を有するチャンネルごとの音声分離ネットワークを用いて、ネットワークは縮小される。
【0089】
最後に、マスク再構成器は任意の時間に対して2つのマスク出力を同時にソートする。マスク再構成器は、長短期記憶ネットワークのスタックを含み、各時点でのサマライゼーションから最後の2チャンネル出力を生成する。
【0090】
マスク再構成器から2チャンネル出力を取得した後、順列不変トレーニング目的関数を再構成されたマスクとクリーン基準との間に適用し、そこで出力とクリーン基準の各順列ペアのユークリッド距離を最初に測定し、次にニューラルネットワークを更新するために最小距離と対応する順列を選択する。
【0091】
ネットワークは、シミュレートされたマルチチャンネルデータでトレーニングされ、そこでは、各サンプルに対して入力チャンネルの数がランダムに選択される(例えば、2~10チャンネル)。Libri音声データセットがシミュレーションのソースデータとして適用される。各シミュレーション文において、2人のランダムなユーザ/話者から2つの発話が最初に選択される。次に、各発話は、ランダムな部屋と位置設定による画像法からの部屋インパルス応答による部屋音響シミュレーションで処理される。
【0092】
音声分離の1つの変形は、音声重複検出であり、ここで、タスクは、記録された音声における重複領域を単に検出するだけに低減される。このアルゴリズムは、同様の方法で動作し、ここでは、ネットワークが入力としてNチャンネルを受信し、2つのチャンネルを出力として連続的に出力する。重複検出器では、ネットワークはマスクを出力しない。その代わりに、ネットワークは2つの1次元インジケータ機能を出力し、ここで、1はそのチャンネルに1人のアクティブな話者がいることを意味し、0は無音を意味する。したがって、アクティブな話者が2人いる場合、2つの出力ストリームはそれぞれ1を出力として有する。1人のアクティブな話者がいる場合、1つの任意のチャンネルは出力として1を有し、他は0を有する。また、ネットワークは、ネットワークの出力(すなわち、インジケータ機能)と基準インジケータとの間で、順列不変トレーニング目的でトレーニングされる。
【0093】
図12は、分散デバイスインテリジェント会議における重複音声を分離するコンピュータ実装される方法を示すフローチャートである。動作1210において、音声を表すオーディオ信号が、対応する複数の分散デバイスから送信されるストリーミングオーディオに対応する複数のオーディオチャンネルを介して受信される。
【0094】
連続的な音声分離が、動作1220において、同時に話す異なる話者からの音声を別々のオーディオチャンネルに分離するために、受信したオーディオ信号に対して行われる。一実施形態では、動作1220における音声分離は、トレーニングされたニューラルネットワークモデルによって実行される。ニューラルネットワークモデルは、順列不変トレーニング又はその変形を用いてトレーニングされる。
【0095】
動作1230において、分離されたオーディオチャンネルが、音声認識及びトランスクリプトの生成のために提供される。一実施形態では、動作1230は、固定数の別個の出力チャンネルを提供する。マイクロホン入力の数が変化し得、出力の数が前もって固定されているため、限定された数のオーディオチャンネルが提供されことができる場合があり、このため、複数の重複する話者の各オーディオチャンネルに対して、各話者は別々のオーディオチャンネルを生じる。したがって、出力オーディオチャンネルの数が制限されている場合、すべてのチャンネルが話者を分離しているわけではない。
【0096】
図10におけるビームフォーミングモジュール1020のN個の異なる出力は、セノン(senone)事後確率のシーケンスを生成するN個の音響モデル1025及び1030に提供される。このようなモデルはよく知られており、典型的にはニューラルネットワークベースである。分散デバイス及び/又はビームフォーマの出力からの複数のオーディオチャンネルの各々についての音響モデルの使用は、各セノンについてN個のスコアを提供する。
【0097】
スコアは、セノンのスコアを含めて、音響モデルスコア融合モジュール1035に提供される。個々の入力チャンネルのオーディオは、従来のように処理されて、一連のセノン及びそれらの事後確率を提供し得る。その結果は、その結果を複数の音声認識(SR)デコーダ1040、1045に適用する前に、モデルスコア融合モジュール1035を使用して結合される。スコア融合モジュール1035は、複数の情報源を組み合わせ、同時に、入力情報のダイバーシティを保持するために複数の出力を生成する第2の融合点として動作する。2段階プロセスは、2つの異なるニューラルネット(又は分類器):バニラフレーバー音響モデルと、新しい、より的を絞った音響モデルを含む。出力は、セノンの数の1倍のシーケンスである。スコア融合モジュール1035は、音響モデル(ニューラルネット)の最後の層の出力を入力として使用することに留意されたい。さらなる実施形態では、スコア融合モジュール1035は、最後の層の前の任意の層の出力を使用することができる。入力のサイズは、出力のサイズとは異なる場合がある。
【0098】
音響モデルスコア融合モジュール1035からのセノンのシーケンスは、SRデコーダ1040及び1045に提供され、これらの各々は、標準的な音声認識処理を利用して、セノンの各セグメントに対してN個の最良の単語リストを提供する。各単語には開始時間と継続時間が与えられる。セグメンテーションが、音声活動検出、話者変化検出、固定インターバル、又は何らかの他の適切な方法に基づいて実行され得る。デコーダ出力上でニューラルネットワーク言語モデル(NNLM)を用いることによって再スコアリングが実行されて、単語仮説のより良いnベスト(N個の最良の)リストを生成し得る。
【0099】
複数の話者ダイアリゼーションモジュール1050、1055は、各セグメントについてのNベスト(N個の最良の)リストとして、SRデコーダモジュール1040、1045の出力を受信する。一つの実装では、トップワードシーケンス仮説のみが使用される。最初の動作は、dベクトルのような話者埋め込み(話者検証のためのディープニューラルネットワークの隠れ層アクティベーション)を、固定された間隔で抽出する。2番目の動作は、単語シーケンスを話者均質(speaker-homogeneous)サブセグメントに分解する(factorizes)。これは、凝集クラスタリング(agglomerative clustering)、BIC(ベイズ情報量規準)、又は埋め込み機能を使用することによる他の方法の変形で実行されることができる。第3の動作は、サブセグメントの話者埋め込みと各候補話者のそれらとの近接度(例えば、コサイン類似性、負のユークリッド距離)を比較することによって、上記で得られたサブセグメントの各々に話者識別子を割り当てる。結果として得られる出力は、トップSR仮説の各認識ワードに対する話者ラベルの割り当てである。
【0100】
仮説結合モジュール1060は、入力として、N個のSRデコーダモジュール1040、1045(例えば、ビームフォーミングされたオーディオチャンネル)からのnベストリスト、及びビームフォーミングされた/分離されたオーディオチャンネルなどのN個のソースからの話者認識出力を受信する。仮説結合モジュール1060は、各チャンネルからのnベストスコアを、それらをスケーリングし、正規化することによって処理し、したがって、発話レベルの事後確率を計算する。nベスト仮説は単語コンフュージョンネットワーク(word confusion networks)に整列される(aligned)。与えられた単語仮説に関連する発話レベルの事後確率を加えることによって、単語レベルの事後確率が得られる。各チャンネルからの話者認識出力は、交互の話者と単語ラベルとのコンフュージョンネットワークとしてフォーマットされる。単語ラベルは、1ベスト認識仮説からのものであり、一方、話者ラベルは、音声セグメントに一致する1ベスト又はnベスト話者モデルを表す。話者仮説の事後確率は、正規化された話者モデルの尤度を表す。単語仮説の事後確率は、最終的な単語認識に影響を与えないように、2桁の大きさにスケールダウンされ、従って、単語及び話者ラベルの適切なアライメントのみに影響を与える。したがって、各チャンネルから得られるコンフュージョンネットワークは、オンライン処理の制約によって規定されるように、同じ時間ウィンドウ(time window)をカバーするように、必要に応じて切り捨てられる及び/又は連結される。出力は単語と話者の両方の仮説とそれらの事後確率をエンコードするコンフュージョンネットワーク(CN)を含む。
【0101】
単語及び話者のコンフュージョンネットワークは、最小編集距離基準、及び整列したノード間の時間の不一致に対するペナルティに従って整列される。これは、話者及び単語仮説を効果的に1つのネットワークに統合し、一致するラベルの事後確率を合計する。必要に応じて、トップ話者及び単語仮説が、各位置で最高の事後確率ラベルを選択することによって、結合されたCNから読み取られる。単語コンフュージョンネットワークは、音声デコーダが出力するものに依存して、nベストリストの代わりに単語ラティスから構築され得る。
【0102】
結合モジュール1060からの出力は、会議の話者に帰属するトランスクリプトの生成のためのテキスト及び話者の識別を生成するための、後期融合(late fusion)と呼ばれる第3の融合の結果である。ビームフォーミングモジュール1020及び音響モデルスコア融合モジュール1035における第1の2つの融合ステップは、それぞれ、様々な実施形態においてオプションであることに留意されたい。いくつかの実施形態では、1つ以上のオーディオチャンネルが、ビームフォーミング又は音声分離なしに、音響モデルスコアリングモジュール1065に直接提供され得る。音声認識は、次に、SRデコーダ1070を介して1つ以上のオーディオチャンネル上で実行され、続いて、話者ダイアリゼーションモジュール1075が実行され、出力はコンビネーションモジュール1060に直接提供される。
【0103】
オーディオストリームは、デジタルオーディオストリームの同期に続いて、ジオメトリ非依存ビームフォーミング又は連続的な音声分離によって、早期に融合され得る。入力情報のダイバーシティを保持するために、複数の出力が生成され得る。後期融合は、話者情報及び多様なモデル仮説を利用するために、音響モデルスコアレベル及び/又はテキストレベル/ダイアリゼーションレベルで行われ得る。一実施形態では、1語又は2語にわたる後期融合は、固定時間ウィンドウの使用によって行われる。一実施形態では、時間ウィンドウは、顕著なオーディオイベントに対応し、例えば2秒で固定され得る。このような時間ウィンドウは、リアルタイム(又はリアルタイムに近い)トランスクリプトを低レイテンシで提供することができるようにかなり短く選択される。
【0104】
一実施形態では、リアルタイムトランスクリプトが、短いワードシーケンスに基づいて生成される。データの後期融合は、フレーズを生成するために並列に処理される複数のオーディオチャンネルに対する音声認識によって実行される。複数のオーディオチャンネルから派生したフレーズはリアルタイムで結合される。一実施形態では、約2秒の音声が仮説結合モジュール1060で結合される。従って、オーディオストリームは、それらが受信されるときに処理される。オーディオストリームを処理するために、2秒のオーバーラップしないスライディングウィンドウが使用され、会議システム135のトランスクリプト生成のレイテンシをゼロに近づけるように減少させる。
【0105】
個々の音声認識デコーダは、いくつかの結果を連続的に出力し、仮説結合モジュール1060に基づいて、その結果は直ちに処理される。ストリーム同期モジュール1015における個々のシステムのアライメントのために特別な規定が提供され、そうでなければ、最終結果は、(ミスアライメントのために)同じイベントの複数のインスタンスを含み得る。後処理ステップは、信号及び/又は音声認識出力アライメントに関係なく存在し得る任意の重複を除去する。アライメントは、信号の単語レベル又はサンプルレベルのいずれかで実行され得る。また、音声認識デコーダによって、異なるバージョンのオーディオが受信されることにも留意されたい。各SRデコーダは、何か異なることを聞くことがある。SRの結果(後期融合)と低レイテンシを組み合わせることにより、高精度のトランスクリプトが生成される。すべてのSRは、ある信頼(confidence)レベルを持つ1~2語を出力する。2秒などの時間は、いくつかの顕著な出力、言い換えると、ある程度の信頼をもって認識できる1~2語を持つ出力を得るのに十分な長さである。2秒のような固定された時間のウィンドウは、より良好に機能することがわかった。時間が短すぎると、目立った顕著なイベントはなく、時間が長すぎると、レイテンシが長くなりすぎてトランスクリプトが遅れ、会議中の有用性の低いトランスクリプトにする。
【0106】
このアプローチの別のバージョンは、(1)すべてのストリームが高い信頼を持つ音声を含まない又は(2)高い信頼を持つ単一の単語仮説を有する、オーディオストリームの時点(time points)を待つことである。このような場所では、仮説空間を単一の仮説に絞り込むことができ、これにより、誤った単語セグメンテーションの結果として正確さを損なうことなく結合を実行することが可能になる。
【0107】
トランスクリプトは、1080で示された出力に基づいて、会議参加者の1又は複数に提供される。会議システムの出力に基づいて、単一のトランスクリプトが提供される。トランスクリプトは、個々の発話と、図面のスライド又は写真のような関連するメディアから構成される。各発話には、ユニバーサルタイムスタンプ、帰属する話者(attributed speaker)、関連するテキスト、及び/又は関連するオーディオセグメントが割り当てられ、オーディオは、すべての参加クライアントからの同期入力ストリームから抽出される。
【0108】
画像、注釈、及び他の抽象オブジェクトのような追加の媒体又はコンテンツは、タイムスタンプを介してインラインで(例えば、ホワイトボードの写真が、時間tにキャプチャされ、アップロードされる)、又は特定のタイムスタンプを使用せずに会議全体に(例えば、ファイルが会議後にアップロードされ、この会議インスタンスに関連付けられた)関連付けることができる。すべての出席者は、会議及び関連データにアクセスすることができる。臨時会議は、会議を作成したエンティティが設定した許可に応じて、会議のオーナー、すべての出席者、又は誰でも閲覧及び変更することができる。会議の要約、アクションアイテムの特定、トピックモデリングなどの追加サービスは、トランスクリプト及び他の関連する会議データを用いて提供され得る。
【0109】
図13は、処理中に複数の選択されたポイントでオーディオストリームを融合させる、コンピュータ実装される方法1300を示すフローチャートである。オーディオストリームは、会議中に複数の分散デバイスによって記録される。方法1300は、動作を実行する1つ以上のプロセッサによって実行される。動作1310は、各オーディオストリームについての仮説として発話レベルの事後確率を生成するために、1つ以上のプロセッサ上で実行される対応する音声認識システムによって、各オーディオストリームの音声認識を実行する。仮説は、関連する単語レベル事後確率を持つ単語コンフュージョンネットワークとして、動作1320において、整列及びフォーマットされる。動作1330は、話者に帰属する単語仮説のストリームを生成する話者識別アルゴリズムの実行によって、各オーディオストリームに対して話者認識を実行する。話者仮説は、動作1340において、コンフュージョンネットワークとしての各オーディオストリームについて、関連する事後話者ラベル事後確率及び話者に帰属する仮説でフォーマットされる。動作1350は、すべてのオーディオストリームからの単語及び話者コンフュージョンネットワークを互いに整列させて、事後確率とマージさせ、単語及び話者ラベルを整列させる。最良の話者に帰属する単語トランスクリプトが、最も高い事後確率を持つ単語及び話者ラベルのシーケンスを読み取ることによって、動作1360において作成される。
【0110】
一実施形態では、各ストリームからの単一の単語仮説のみが、可能であれば事後確率なしで生成され、全ストリームの中で単純な投票が使用される場合に、特別な近似バージョンが得られる。
【0111】
方法1300の動作は、処理が、リアルタイムで話者に帰属する単語認識仮説の生成を可能にするように、インクリメンタルに実行されるように、オーディオストリームに適用される連続する時間ウィンドウ上で実行され得る。入力仮説は、各オーディオストリームに対して生成された単語仮説に関連付けられた時間マークに基づいて、すべてのオーディオストリームに適用される共通の時間ウィンドウに合わせて時間的に切り捨てられる。
【0112】
入力話者及び/又は単語仮説ストリームは、K<NのオーディオストリームのN個のうちのK個の融合を介して、入力オーディオストリームの複数の部分的な組み合わせから発生し得る。代替的には、入力話者及び/又は単語仮説ストリームは、異なるオーディオストリームから発生するのではなく、N個のオーディオストリームのうちのK個に適用される音響モデルの複数の部分的な組み合わせから発生し、これは、未加工の(raw)オーディオ信号又はオーディオ信号の融合から生じ得る。
【0113】
さらに別の実施形態では、入力仮説は、各オーディオストリームについて生成された単語仮説に関連付けられた時間マークに基づいて、すべてのオーディオストリームに適用される共通の時間ウィンドウに合わせて時間的に切り捨てられる。N個の未加工のオーディオ信号のうちのK個の組み合わせ又はオーディオ信号の融合は、オーディオ品質基準に基づき得る及び/又は分散デバイスに関する話者の相対的位置に基づき得る。
【0114】
一実施形態では、入力話者及び/又は単語仮説ストリームは、N個のオーディオストリームのうちK個の融合を介して入力オーディオストリームの複数の部分的な組み合わせから発生し、ここでK<Nである。N個の音響モデル出力のうちK個の組み合わせは、入力信号のオーディオ品質基準に基づき得る及び/又は分散デバイスに関する話者の相対的な位置に基づき得る。代替的には、入力話者及び/又は単語仮説ストリームは、K<Nである、N個のオーディオストリームのうちK個に適用される音響モデルの複数の部分的な組み合わせから発生し得、これは、未加工のオーディオストリーム又はオーディオストリームの融合から生じる。さらに別の実施形態では、複数の音響モデルの出力は、N個のオーディオストリームのうちのK個に適用され得、ここでK<Nであり、これは、M個の音声認識デコーダへの入力として結合されるオーディオストリームの融合又は未加工のオーディオストリームから生じる。
【0115】
図14A及び14Bは、例示的な環境(ambient)キャプチャデバイス1410を示す。一実施形態では、環境キャプチャデバイス1410は、円筒形の形状であり、デバイス1410の頂部にデバイス1410に対して上方を向いた魚眼カメラ1411がある。マイクロホンアレイ1413が、カメラ1411の下でデバイス1410に結合され、シリンダの周囲に配置されてオーディオを360°でキャプチャする。
図14Aのデバイスは、縮尺通りに描かれてはならないことに留意されたい。最適な360°の視覚(例えば、ビデオ又は静止画像)をキャプチャするために、魚眼カメラが床又はテーブル面1450に近接することが望ましい場合がある。一実施形態では、デバイスは、カメラ1411の下方のブラインドスポットを回避するために、短くかつ低くなり(squat)得る。一実施形態では、魚眼カメラは、マイクロホンアレイ1413に近接して配置され得る。
【0116】
キャプチャデバイス1410は、分散デバイス会議からオーディオ及びビデオをキャプチャする際に、分散デバイスと共に使用され得る。デバイス1410は、それ自体、分散デバイスの1つであり得る。音声に関連するユーザの識別は、一実施形態では、キャプチャデバイス1410によってのみ実行され得る、又は、キャプチャデバイス1410から収集された情報ストリームは、様々な実施形態では、話者に帰属するトランスクリプトを生成するために、他の分散デバイスから収集された情報ストリームと共に使用され得る。
【0117】
図14Bに示す例では、7個のマイクロホン1423A~1423Gがマイクロホンアレイ1413に含まれている。図示されるように、6つのマイクロホン1423A~1423Fが、ある平面内にかつデバイスの中心からほぼ等距離に配置され、第7のマイクロホン1423Gが、中心に配置される。当然のことながら、デバイスは、軽布(light fabric)、グリル、又はメッシュのようなオーディオ透過性材料で作られ得、マイクロホン1423は、音が妨げられないように、魚眼カメラ1421又はデバイス1420の他の構造部分によってブロックされない。
【0118】
一実施形態では、魚眼カメラは、デバイス1420のベースから約30cmにあってもよく、マイクロホンアレイ1413は、ベース1430の約15cm上に取り付けられてもよい。動作中に、デバイス1420は、環境内で床又はテーブル1450に位置し得る又はこれに固定され得る。デバイス1420が、床により近く配置されるとき、360°水平視野(HFOV)は、より多くの環境を含み得る。魚眼カメラ1421は、典型的には、上を向いているデバイス1420に固定されているので、天井は視野内にあり得る。デバイス1420の他の形状、サイズ、又は構成、並びに魚眼カメラ1421及びマイクロホンアレイ1423の配置が、同様の結果及び変化する結果の両方を提供するために、幾つかの適応を伴って、実装され得ることが理解されよう。
【0119】
一実施形態では、オーディオキャプチャのための音響パラメータは、マイクロホンの仕様に依存して変化する。一実施形態の音響仕様の例を以下の表1に示す。一実施形態では、音響パラメータは、マイクロホンだけでなく、全オーディオサブシステム(例えば、キャプチャされたパルス符号変調(PCM)データ)に適用される。キャプチャされたオーディオは、AIアプリケーションで使用するのに十分な音声認識精度を生成し得る。当業者であれば、本開示の利益を得て、音声認識精度を達成するために種々の音響パラメータを利用することができ、表1の例示的なパラメータが例示的な目的のためであることを理解するであろう。
【表1】
【0120】
図15は、一実施形態による、マイクロホンアレイ1523の例示的な配置を示す。一実施形態では、デバイスは、同一平面内に配置された7個のマイクロホンを含む。6個のマイクロホン1523A~1523Fは、中心点から約4.25cmに、平面内に円形又は六角形のパターンで配置される。第7のマイクロホン1523Gが中心点に配置される。一実施形態では、7個のマイクロホンの構成は、同様の仕様のマイクロホンを含む。マイクロホンアレイから受信したオーディオデータの追加の処理は、マイクロホンが異なる場合にオーディオを正規化又は調整するために必要であることが理解されるであろう。例示的な実装では、マイクロホンアレイ1523は、ポートを上向きの7個のデジタルマイクロエレクトロメカニカルシステム(MEMS)マイクロホンを含み得る。回路基板又はデバイスケースのような吸音又はブロッキングコンポーネントによってマイクロホンが妨げられない場合、より良好な性能が得られることが理解されるであろう。
【0121】
一実施形態では、類似のマイクロホンは、デバイス(図示せず)内の同じクロックソースを使用してクロックされる(clocked)。オーディオのクロッキング(clocking)又はタイムスタンピングは、オーディオビジュアルデータの同期及び融合を助け得る。
【0122】
環境キャプチャデバイスは、全てのマイクロホン信号を16ビットの16kHzのPCMデータにデシメートし得る。この文脈において、デシメーションは、信号のサンプリングレートを減少させるプロセスである。自動音声認識では、8kHzを超える周波数帯域は不要であり得る。従って、16kHzのサンプリングレートが適切であり得る。デシメーションは、要求される精度を損なうことなく、ビットレートを低下させる。一実施形態では、キャプチャデバイスは、追加のビット深度及びサンプリング周波数をサポートし得る。一実施形態では、キャプチャデバイスは、ドライバの複雑さを低減し、安定性を改善するために、データ幅及びサンプリング周波数を変更することを許容しなくてもよい。マイクロホンは、振動及びノイズを低減するために、任意の適切な機械的減衰機構、例えばゴムガスケットを使用して取り付けられ得る。
【0123】
より多い又はより少ないマイクロホンがマイクロホンアレイ内に存在し得ることが理解されよう。しかし、より少ないマイクは、話者の位置のいくらかの不確実性をもたらす場合がある。追加のマイクロホンは、オーディオの確実性又は解像度を高め得るが、より多くのハードウェアのコスト及び計算をさらに複雑にすることをもたらし得る。
【0124】
一実施形態では、オーディオスピーカが、ユーザへのオーディオフィードバックのためにデバイスの底部又はベースに配置される。オーディオスピーカは、フィードバックアナウンスのために使用され得る又はAIアプリケーションの不可欠な部分(integral part)として使用され得る。例えば、会議管理のためのAIアプリケーションでは、ユーザは議事録を出席者に読み返すように要求し得る。デバイス内の一体型スピーカは、操作のためのフィードバック又はリクエスト命令又はコマンドを提供する。音声コマンドが理解されない場合、オーディオスピーカを介してコマンドを繰り返す要求が再生され得る。音響フィードバックを低減するために、オーディオスピーカは、マイクロホンアレイと反対方向を向き得る。オーディオスピーカを介して再生されるオーディオは、追加の同期マイクロホンチャンネルとしてループバックされることがある。
【0125】
図14Bに戻って参照すると、一実施形態では、魚眼カメラ1421は、360°HFOVと、190°VFOV、又は約200°の対角視野(DFOV)をもたらす、水平軸の上にある少なくとも95°の垂直視野(VFOV)と、水平軸の下にある95°VFOVとを受ける。実際には、キャプチャデバイス1410は、テーブル又は床上に配置され得、そのため、表面の下の垂直な視野は必要とされない。従って、本明細書の議論において、VFOVは、デバイスの水平ベース面より上の視野を示すために約95°として同定される。
【0126】
一実施形態では、魚眼カメラ1421は、12メガピクセル(MP)(例えば、4K解像度を提供する)の1つの魚眼センサを含む。カメラレンズは、光学中心が画像センサの中心に位置合わせされ、光軸が画像センサに対して垂直になるように、その画像センサに対して取り付けられ得る。マイクロホンアレイに対するカメラレンズの相対位置は固定され、既知であり得る。特に、光学中心は、光軸がマイクロホンアレイに垂直な状態でマイクロホンアレイの中心と位置合わせされ得る。
【0127】
図16は、上述のような環境キャプチャデバイス1610と、クラウドサーバ1620と呼ばれる会議サーバとを備えたAIシステム1600を示す。一例では、ユーザ1630は、AIアプリケーション1623と対話する。AIアプリケーション1623は、クラウドサーバ1620又はローカルデバイス(図示せず)上に存在し得ることが理解されるであろう。オーディオビジュアルデータが、AIキャプチャデバイス1610によって360°でキャプチャされ得る。上述のように、キャプチャデバイス1610は、360°HFOV及び約95°VFOVを提供する魚眼カメラ1611を含み得る。キャプチャデバイス1610は、また、オーディオを360°でキャプチャするためにマイクロホンアレイ1613を含み得る。
【0128】
カメラ1611によって受信された画像及びビデオストリームのビデオ圧縮が、デバイス上のプロセッサ1615によって実行され得る。ビデオモード及び圧縮プロトコル及び基準は、ユーザが選択可能なソフトウェア制御部によって制御され得る。圧縮に加えて、オーディオビジュアルデータは、権限のない人がデータを入手することを防止するために、暗号化によって保護され得る。一実施形態では、圧縮1618は、デバイス上の回路によって実行され、ソフトウェアスイッチによって制御され得る。
【0129】
前処理1617(例えば、画像コンテンツに基づく画像のクロッピング、又はノイズ低減)は、圧縮1618の前に、プロセッサによって実行されるロジックによって実行され得る。一実施形態では、前処理は、デバイスに結合されたスピーカ1612によって生じるフィードバック、ノイズ、及びエコーを低減するための音響エコーキャンセレーション(AEC)を含み得る。
【0130】
一実施形態では、キーワードスポッティング(KWS)のためのローカルプロセスが、デバイスをウェイクアップさせる、又はオフにするためなど、環境キャプチャデバイスに対するデバイスコマンドを聞くために含まれ得る。ローカルKWSは、適合率に対して再現率を好む場合があり、削減されたマイクロホンアレイ(例えば、フルアレイではなく2つのマイクロホン)に基づく場合がある。
【0131】
AECがデバイス1610上で実行されるとき、スピーカオーディオを含む音響チャンネルは、センサ融合(sensor fusion)1621を実行するためにモデルに送られる必要がない場合がある。圧縮されたオーディオビジュアルデータは、送信ユニット1619によってクラウドサーバ1620に送信され得る。送信ユニット1619は、イーサネット(登録商標)接続などの有線通信用のネットワークインターフェースカード;WiFi(登録商標)、Bluetooth(登録商標)、NFCなどの無線プロトコルを使用する無線トランシーバ;又は他の通信手段のうちの1つ以上を含み得る。一実施形態では、オーディオフィードバックは、無線チャンネルの1つを介してデバイスに送信され得る。クラウドサーバ1620は、AIアプリケーション1623に対してセンサ融合1621を実行し得る。従って、圧縮は、送信ユニット1619を介してクラウドへの送信の帯域幅を減らすために実行され得る。
【0132】
図17は、トランスクリプトを生成する際に使用するためにネットワークを介して会議サーバに送信されるオーディオストリームの数を減少させるコンピュータ実装される方法1700を示すフローチャートである。方法1700は、動作1710において、複数のユーザの会議からの音声を検出する複数の(例えば、3つ以上の)マイクロホンから複数のオーディオチャンネルを受信することによって開始する。動作1720において、アクティブ話者の方向が推定される。音声アンミキシングモデル(speech unmixing model)が、動作1730において、一次マイクロホン及び二次マイクロホンに対応する2つのチャンネルを選択するために使用される、又は、融合オーディオチャンネルに対応し得る。選択された2つのチャンネルは、動作1740において、インテリジェント会議トランスクリプトの生成のために会議サーバに送られる。会議サーバに送信されるデータの量を減らすことにより、帯域幅を節約する。選択したデータがおそらく最良のデータであるため、精度が失われることはほとんどない。
【0133】
一実施形態では、マイクロホンは、固定構成のデバイスによって支持される。固定構成は、複数のユーザを含むように構成された視野を有するカメラを含み得る。音源を位置特定することは、カメラからのビデオ及びオーディオのチャンネル上でトレーニングされたモデルを実行することによって行われ得る。例えば、あるユーザがカメラを持つラップトップコンピュータを使用している場合、そのラップトップはオーディオ及びビデオチャンネルの両方を提供し得る。オーディオチャンネルは、基準オーディオチャンネルに対して同期され得、同じ時差がビデオチャンネルを同期させるために使用され得る。画像認識が、トランスクリプトを生成する際のダイアリゼーションのための話者としてユーザを識別するために、ビデオチャンネル上で使用され得る。さらなる実施形態では、ラップトップコンピュータは、画像処理を実行して、ユーザが話していることを決定し、ユーザを話者として識別するタグをオーディオチャンネルに提供する。次いで、タグは、ラップトップからビデオチャンネルを送信する必要なく、ダイアリゼーションのために使用され得る。
【0134】
さらなる実施形態では、マイクロホンは、複数の分散デバイスに関連付けられる。分散デバイスは、それぞれ、複数のユーザに関連付けられる無線デバイスを含み得る。分散デバイスのうちの少なくとも1つは、ユーザのうちの少なくとも1人のビデオを提供するカメラを含み得る。
【0135】
さらに別の実施形態では、マイクロホンは、固定構成内に支持されるマイクロホンと、ユーザに関連する分散デバイスに関連付けられるマイクロホンとを含む。この方法は、固定位置でマイクロホンを支持する1つ又は複数のデバイス、又は複数のオーディオのチャンネルを受信するエッジデバイスによって実行され得る。音声アンミキシングモデルは、エッジデバイス上で実行され得る。
【0136】
さらなる実施形態では、クライアント側処理(分散デバイス、環境キャプチャデバイス、及び/又はエッジサーバのうちの1つ以上での処理)が、分散デバイスからの分散型会議情報ストリームを処理するために利用されるネットワーク帯域幅の量を減らすとともに、会議サーバが必要とする計算リソースを減らすために使用される。上記のように、ネットワークを介して会議サーバに送られるストリームの数の削減に加えて、ビームフォーミングが、オーディオ透かし及び会議コードの生成と同様に、クライアント側で実行され得る。さらなる実施形態では、モデルサイズが、クライアント側でより良好に動作するように、縮小され、量子化され得る。目的関数もまた、クライアント側でより良好に動作するように変更され得る。音声マスクを出力する代わりに、音源位置特定が、それに見合ったより少ない計算量で使用され得る。
【0137】
オーディオ及びビデオチャンネルの両方が、ダイアライズされた(diarized)トランスクリプトの作成のために、音声をユーザに帰属させるために使用され得る。オーディオビジュアルダイアリゼーションアプローチは、ロバストなダイアリゼーションを達成するために、音声識別、音源位置特定、顔追跡/識別、及び分散センサからの視覚アクティブ話者検出の組み合わせを可能にする。
【0138】
図18は、より良好な話者識別を提供するために、分散デバイスからのビデオ及びオーディオ両方のチャンネル、オーディオビジュアルデータを使用するためのコンピュータ実装される方法1800を示すフローチャートである。方法1800は、動作1810において、インテリジェント会議に含まれる複数の分散デバイスのセットから、会議サーバ上の情報ストリームを受信することによって開始する。動作1820において、情報ストリームのうちの少なくとも2つの中の少なくとも2人のユーザによる音声を表すオーディオ信号が受信される。動作1830において、情報ストリーム内の少なくとも1人のユーザの少なくとも1つのビデオ信号が受信される。受信したオーディオ信号及びビデオ信号は、動作1840において受信したオーディオ信号及びビデオ信号の関数として、受信したオーディオ信号内の音声を特定のユーザに関連付けるために使用される。インテリジェント会議のトランスクリプトが、動作1850において、音声に関連付けられたユーザの指示とともに、生成される。
【0139】
複数の分散デバイスは、一実施形態では、インテリジェント会議のユーザに関連付けられるモバイル無線デバイスである。モバイル無線デバイスは、少なくとも1つのビデオ信号を提供するマイクロホン及びカメラを含み得る。さらなる実施形態では、複数の分散デバイスは、固定構成内に支持された複数のマイクロホンを有するデバイスを含み、各マイクロホンは、受信したオーディオ信号のうちの1つを提供する。このデバイスは、インテリジェント会議の複数のユーザを含むように構成された視野を有するカメラを含み、少なくとも1つのビデオ信号を提供し得る。
【0140】
一実施形態では、特定のユーザを音声と関連付けるために、受信したオーディオ及びビデオ信号に融合モデルが使用される。一実施形態では、オーディオビジュアルデータは、会議サーバによって分析され得る。オーディオビジュアルデータは、まず、ネットワークを介して会議サーバに送信する前に圧縮され得る。別の実施形態では、融合モデルは、統合システムとしてキャプチャデバイスに結合される。ここでの議論では、限定としてではなく、説明のための会議サーバについて説明している。
【0141】
会議サーバは、必要に応じて、データを解凍、デコード、又は解読する。オーディオビジュアルデータは、例えば、限定されるものではないが、オーディオ方向;画像中の話者位置;話者の動き;ボイスシグネチャ;顔シグネチャ;ジェスチャ;及び/又はオブジェクトなどのオーディオビジュアルデータ中の特徴を識別又は推論するために、LSTMモデルを利用するAIアプリケーションによって融合及び分析され得る。一例では、AIアプリケーションは音声認識又は顔認識を必要とする。LSTMモデルは、センサデータを使用して、AIアプリケーションに特有のデータでトレーニングされ得る。一実施形態では、上述のように、1より多いモデル又は分析エンジンが使用され得る。
【0142】
一実施形態では、音声が識別され得、ビデオデータを使用するジェスチャ認識が実行され得る。LSTMモデルは、識別された音声及び認識されたジェスチャを使用して、データの可能性のある融合を提供し、可能性のある結果をAIアプリケーションに送り得る。一例では、音声コマンドと組み合わせたジェスチャが、AIアプリケーションに特定の制御コマンドを提供する。一例では、ビデオデータの分析は、ユーザがどこを見ているかを推測するために、視線又は眼の動きを追跡することを示す。視線分析は、AIアプリケーションの制御コマンドをもたらし得、オーディオデータとの融合に基づいて異なることがある。
【0143】
一実施形態では、LSTMモデルは、特定のAIアプリケーションのためにトレーニングされ、融合データに基づいて、そのアプリケーションのための制御又はコマンドを提供する。別の実施形態では、LSTMモデルは、より一般的であり、環境中の話者ID及び位置を有する各話者についてのオーディオストリーム、及びビデオストリームのような、可能性のある相関データを、入力のさらなる処理及び解釈のためにAIアプリケーションに提供し得る。この例では、AIアプリケーションは、オーディオ及びビデオストリームの入力を使用して、適切なコマンドを導き出し得る又はアクションを実行し得る。
【0144】
一実施形態は、12MPセンサを持つ魚眼カメラを利用する。別の実施形態は、三次元(3D)又は深度(depth)情報を提供する赤外線(IR)センサ又は他の深度センサを含む。HFOV全体をカバーするのに十分な深度センサがない場合、深度情報は360°で利用できないことがある。キャプチャデバイスのバリエーションが、広範囲のユーザに許容可能な様々な価格ポイント、又は様々な用途に対応するために提供され得る。例えば、深度センサ又はより高い解像度のセンサを含めることは、選択されたAIアプリケーションに必要なものを超えて、デバイスのコスト又は複雑さを増大させる可能性がある。
【0145】
図19は、例示的実施形態による、ユーザの好みに基づいて出力をカスタマイズするためのコンピュータ実装される方法1900を示すフローチャートである。方法1900における動作は、上述のコンポーネントを使用して、会議サーバ又はシステム(例えば、会議サーバ135)によって実行される。従って、方法1900は、例として、会議サーバを参照して説明される。しかしながら、方法1900の動作の少なくとも一部は、種々の他のハードウェア構成上に展開され得る、又はネットワーク環境の他の場所に存在する同様のコンポーネントによって実行されてもよいことが理解されよう。従って、方法1900は会議サーバに限定されることを意図しない。
【0146】
動作1910では、会議サーバは複数の分散デバイスからオーディオストリームを受信する。例示的な実施形態では、オーディオストリームは、2人以上のユーザの会議中に複数の分散デバイスのうちの1つ以上によって検出される音声を含む。いくつかの実施態様において、会議は、臨時会議である。これらの実施形態では、サーバは、受信したオーディオストリーム上でブラインドビームフォーミング又は連続的な音声分離を実行して、音声を背景ノイズ又は同時引話している異なる話者から別々のオーディオチャンネルに分離することができる。場合によっては、オーディオストリームを比較して、オーディオストリームが(同じ)臨時会議の音を表していることを決定する。次に、会議インスタンスが生成され、臨時会議からのものであるとして識別されたオーディオストリームを処理する。
【0147】
動作1920では、分散デバイスのうちの1つのユーザのアイデンティティ(identity)が、会議サーバによって識別される。一実施形態では、ユーザは、会議に関連するカメラ(例えば、カメラ155、カメラ1821)によってキャプチャされたビデオ信号に基づいて識別される。ビデオ信号は会議サーバに送信される。会議サーバは、ビデオ信号からのユーザの画像を、既知の(例えば、登録された)ユーザの記憶された画像と比較し、一致を決定する。記憶された画像がビデオ信号のユーザのキャプチャされた画像と一致する場合、ユーザは識別される。一実施形態では、ユーザの画像は、ユーザのユーザプロファイルとともに記憶される又はそれに関連付けられる。
【0148】
代替的な実施形態では、ユーザは、音声署名(voice signature)に基づいて識別される。この実施形態では、オーディオストリームからの音声は、構文解析される又はダイアライズされ、既知のユーザの記憶された音声署名と比較される。記憶された音声署名が、オーディオストリームからの構文解析/ダイアライズされた音声と一致する場合、ユーザは識別される。一実施形態では、ユーザの音声署名は、ユーザのユーザプロファイルとともに記憶される又はそれと関連付けられる。
【0149】
動作1930では、識別されたユーザの言語の好み(language preference)が決定される。いくつかの実施形態では、識別されたユーザのユーザプロファイルがアクセスされる。ユーザプロファイルは、ユーザの言語に対する少なくとも所定の好みを含む。場合によっては、所定の好みはユーザによって確立される(例えば、明示的に示される)。他の場合には、所定の好みは、ユーザに関連付けられるデバイス(例えば、携帯電話又はラップトップなどの分散デバイス)のデバイス設定に基づいて決定される。例えば、デバイスは、英語又は中国語で機能するように構成されてもよい。
【0150】
動作1940において、会議サーバは、上述のように、トランスクリプトを生成する。例示的な実施形態では、オーディオストリームからの音声は、テキストベースのトランスクリプト又はデジタルトランスクリプトを生成するためにテキストに変換される。1つの実施形態において、上述のように、リアルタイムトランスクリプトが、短い単語シーケンスに基づいて生成される。いくつかの実施形態では、データの後期融合が、フレーズを生成するために並列に処理される複数のオーディオチャンネルに対する音声認識によって実行され得る。複数のオーディオチャンネルから導出されたフレーズは、リアルタイム又はほぼリアルタイムで結合される。1つの実施形態では、約2秒の音声が結合される。その結果、オーディオストリームは、基本的に、それらが受信されるときに処理される。オーディオストリームを処理するために、数秒(例えば、2秒)の重複しないスライディングウィンドウが使用され、トランスクリプト生成のためのレイテンシを減少させる。
【0151】
動作1950では、会議サーバは、ユーザの言語の好みに従ってトランスクリプトを翻訳する。いくつかの実施態様では、会議サーバは、生成されたトランスクリプトを動作1940から取り出し、生成されたトランスクリプト内のテキストを好みの言語のテキストに翻訳する。他の実施形態では、会議サーバは、生成されたトランスクリプトを動作1940から取り出し、生成されたトランスクリプトを好みの言語の音声に変換する。さらに、いくつかの実施形態は、テキスト翻訳及び音声翻訳の両方を実行し得る。例示的な実施形態では、トランスクリプトからの各翻訳された発話に対するユーザ(例えば、話者)のアイデンティティが、翻訳されたトランスクリプトと共に提供される。場合によっては、ユーザアイデンティティは、分散デバイスに関連付けられたユーザ識別子から取得される。
【0152】
動作1960において、翻訳されたトランスクリプトは、ユーザのデバイス(例えば、分散デバイス)に提供される。いくつかの実施形態では、デバイスは、ユーザからオーディオをキャプチャするために使用されるのと同じデバイスを含む。翻訳されたトランスクリプトは、例えば、デバイスのディスプレイデバイス(例えば、スクリーン)上に表示されるテキストとして、又は、テキスト読み上げ(text-to-speech)を使用することによって、スピーカデバイス(例えば、イヤピース、補聴器、又はラウドスピーカ)を介して音声オーディオとして提供されることができる。いくつかの実施形態では、ダイアリゼーション結果もまた提供され得る。
【0153】
図19の方法1900は、特定の順序の動作を有して記載されているが、代替実施形態は、異なる順序の動作で方法1900を実行し得る。例えば、ユーザを識別すること(動作1920)及び言語の好みを決定すること(動作1930)は、トランスクリプトが生成された(動作1940)後又はその間、及びトランスクリプトを翻訳する(動作1950)前に行うことができる。
【0154】
図20は、複数の分散デバイス、エッジデバイス、及びクラウドベースのデバイスを介してインテリジェント会議の処理を実装及び管理し、例示的な実施形態に従って方法及びアルゴリズムを実行するためのコンピュータシステム2000のブロック概略図である。全てのコンポーネントは、様々な実施形態において使用される必要はない。
【0155】
一例として、コンピュータ2000の形態のコンピューティングデバイスは、処理ユニット2002、メモリ2003、リムーバブルストレージ2010、及び非リムーバブルストレージ2012を含む。例示的なコンピューティングデバイスは、コンピュータ2000として図示され、説明されるが、コンピューティングデバイスは、異なる実施形態において異なる形態であり得る。例えば、コンピューティングデバイスは、代わりに、スマートフォン、タブレット、スマートウォッチ、又は
図20に関して図示及び説明したのと同じ又は類似の要素を含む他のコンピューティングデバイスであってもよい。スマートフォン、タブレット、スマートウォッチなどのデバイスは、概して、まとめて、モバイルデバイス、分散デバイス、ユーザデバイスと呼ばれる。
【0156】
種々のデータストレージ要素は、コンピュータ2000の一部として示されているが、ストレージは、インターネットなどネットワークを介してアクセス可能なクラウドベースのストレージ、サーバベースのストレージ、又はスマートストレージデバイス(SSD)も又は代替的に含み得る。また、SSDは、パーサが実行されるプロセッサを含み得、SSDとメインメモリとの間のI/Oチャンネルを介して、解析され、フィルタリングされたデータの転送を可能にすることに留意されたい。
【0157】
メモリ2003は、揮発性メモリ2014及び不揮発性メモリ2008を含み得る。コンピュータ2000は、揮発性メモリ2014及び不揮発性メモリ2008、リムーバブルストレージ2010、及び非リムーバブルストレージ2012のような、種々のコンピュータ可読媒体を含む、又は、それらを含むコンピュータ環境へのアクセスを有し得る。コンピュータストレージは、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能プログラマブルリードオンリーメモリ(EPROM)又は電気的に消去可能なプログラマブルリードオンリーメモリ(EEPROM)、フラッシュメモリ又は他のメモリ技術、コンパクトディスクリードオンリーメモリ(CD ROM)、デジタルバーサタイルディスク(DVD)又は他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又は他の磁気ストレージデバイス、又はコンピュータ可読命令を記憶することができる他の任意の媒体を含む。
【0158】
コンピュータ2000は、入力インタフェース2006、出力インタフェース2004、及び通信インタフェース2016を含むコンピューティング環境を含み得る、又は、これへのアクセスを有し得る。出力インタフェース2004は、入力デバイスとしても機能し得る、タッチスクリーンのような表示デバイスを含み得る。入力インタフェース2006は、タッチスクリーン、タッチパッド、マウス、キーボード、カメラ、1つ以上のデバイス固有のボタン、コンピュータ2000への有線又は無線データ接続内に一体化又はそれを介して結合された1つ以上のセンサ、及び他の入力デバイスのうちの1つ以上を含み得る。コンピュータは、通信接続を使用して、データベースサーバなどの1つ以上のリモートコンピュータに接続するために、ネットワーク環境で動作し得る。リモートコンピュータは、パーソナルコンピュータ(PC)、サーバ、ルータ、ネットワークPC、ピアデバイス又は他の共通データフローネットワークスイッチなどを含み得る。通信接続は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、携帯電話、Wi-Fi、Bluetooth(登録商標)、又は他のネットワークを含み得る。一実施形態によれば、コンピュータ2000の種々のコンポーネントは、システムバス2020により接続される。
【0159】
コンピュータ可読媒体に記憶されたコンピュータ可読命令は、プログラム2018のようなコンピュータ2000の処理ユニット2002によって実行可能である。いくつかの実施形態のプログラム2018は、会議アプリ及び会議サーバ、ならびに本明細書に記載のモジュール、方法、及びアルゴリズムを実装するための1つ以上の方法を実装するためのソフトウェアを含む。ハードドライブ、CD-ROM、及びRAMは、ストレージデバイスのような非一時的コンピュータ可読デバイスを含む物品のいくつかの例である。「コンピュータ可読ストレージデバイス」という用語は、搬送波が過度に過渡的であるとみなされる範囲で搬送波を含まない。ストレージは、ストレージエリアネットワーク(SAN)のようなネットワークストレージも含むことができる。ワークスペースマネージャ2022と共にコンピュータプログラム2018を使用して、処理ユニット2002に本明細書に記載の1つ以上の方法又はアルゴリズムを実行させることができる。
【0160】
実行可能な命令及び機械記憶媒体
本明細書中で使用される場合、「機械記憶媒体」、「デバイス記憶媒体」、「コンピュータ記憶媒体」、「コンピュータ可読記憶媒体」、「コンピュータ可読ストレージデバイス」(「機械記憶媒体」と総称する)という用語は、同じことを意味し、本開示においては交換可能に使用され得る。用語は、実行可能な命令及び/又はデータを記憶する単一又は複数の記憶デバイス及び/又は媒体(例えば、集中型又は分散型データベース、及び/又は関連するキャッシュ及びサーバ)、ならびに複数のストレージ装置又はデバイスを含むクラウドベースのストレージシステム又はストレージネットワークを指す。従って、用語は、限定されるものではないが、プロセッサの内部又は外部のメモリを含む、ソリッドステートメモリ、光及び磁気媒体を含むものとする。機械記憶媒体、コンピュータ記憶媒体、及び/又はデバイス記憶媒体の具体的な例としては、例えば、消去可能なプログラマブルリードオンリーメモリ(EPROM)、電気的に消去可能なプログラマブルリードオンリーメモリ(EEPROM)、FPGA、及びフラッシュメモリデバイスなどの半導体メモリデバイス;内部ハードディスク及びリムーバブルディスクなどの磁気ディスク;光磁気ディスク;ならびにCD-ROM及びDVD-ROMディスクなどの不揮発性メモリが挙げられる。機械記憶媒体、コンピュータ記憶媒体、及びデバイス記憶媒体という用語は、搬送波、変調データ信号、及び他のそのような媒体を、そのような媒体が過度に一時的であるとみなされる範囲で、特に除外する。他のそのような媒体も、以下で論じる「信号媒体」という用語の下でカバーされる。この文脈では、機械記憶媒体は非一時的である。
【0161】
信号媒体
「信号媒体」又は「伝送媒体」という用語は、変調されたデータ信号、搬送波等の任意の形態を含むと解釈されるものとする。「変調されたデータ信号」という用語は、信号内の情報をエンコードするような方法で設定又は変更された1又は複数の特性を有する信号を意味する。
【0162】
コンピュータ可読媒体
用語「機械可読媒体」、「コンピュータ可読媒体」及び「デバイス可読媒体」は、同じことを意味し、本開示においては交換可能に使用され得る。用語は、機械記憶媒体と信号媒体の両方を含むように定義される。従って、用語は記憶デバイス/媒体及び搬送波/変調データ信号の両方を含む。
【0163】
例
例1は、分散システムにおいてユーザの好みに基づいてカスタマイズされた出力を提供するためのコンピュータ実装される方法である。方法は、インテリジェント会議に関与する複数の分散デバイスからオーディオストリームを受信することと;複数の分散デバイスのうちの分散デバイスに対応するユーザを識別することと;ユーザの好みの言語(preferred language)を決定することと;受信したオーディオストリームからトランスクリプトを、ハードウェアプロセッサによって、生成することと;翻訳されたトランスクリプトを形成するために、ユーザの好みの言語にトランスクリプトを翻訳することと;翻訳されたトランスクリプトを分散デバイスに提供することと;を含む。
【0164】
例2において、例1の主題は、オプションで、翻訳されたトランスクリプトを提供することが、トランスクリプトに翻訳されたテキストを提供することを含むことができる。
【0165】
例3において、例1~2の主題は、オプションで、翻訳されたトランスクリプトを提供することが、翻訳されたトランスクリプトのテキストを音声に変換することを含むことができる。
【0166】
例4において、例1~3の主題は、オプションで、翻訳されたトランスクリプトを提供することが、トランスクリプトの各翻訳された発話に対して話者のアイデンティティを提供することを含むことができる。
【0167】
例5において、例1~4の主題は、オプションで、ユーザの好みの言語を決定することが、ユーザのために以前に確立された好みの言語を示すユーザの好みにアクセスすることを含むことができる。
【0168】
例6において、例1~5の主題は、オプションで、インテリジェント会議が臨時会議であり、方法は、さらに、オーディオストリームが臨時会議からの音を表していることを決定するためにオーディオストリームを比較することと;オーディオストリームが臨時会議からの音を表していると決定する比較することに応答して、オーディオストリームを処理するために会議インスタンスを生成することと;を含むことができる。
【0169】
例7において、例1~6の主題は、オプションで、同時に話す異なる話者からの音声を別々のオーディオチャンネルに分離するように受信したオーディオストリームに連続的な音声分離を実行することを含み、トランスクリプトを生成することは、分離されたオーディオチャンネルに基づくことができる。
【0170】
例8において、例1~7の主題は、オプションで、ユーザを識別することが、ユーザをキャプチャするビデオ信号を受信することと;ユーザを識別するためにユーザの記憶された画像をビデオ信号とマッチングさせることと;を含むことができる。
【0171】
例9において、例1~8の主題は、オプションで、ユーザを識別することが、ユーザの記憶された音声署名をオーディオストリームからの音声とマッチングさせることを含むことができる。
【0172】
例10において、例1~9の主題は、オプションで、ユーザを識別することが、分散デバイスに関連付けられたユーザ識別子を取得することを含むことができる。
【0173】
例11は、分散システムにおいてユーザの好みに基づいてカスタマイズされた出力を提供するための機械記憶媒体である。機械可読記憶デバイスは、インテリジェント会議に関与する複数の分散デバイスからオーディオストリームを受信することと;複数の分散デバイスのうちの分散デバイスに対応するユーザを識別することと;ユーザの好みの言語を決定することと;受信したオーディオストリームからトランスクリプトを生成することと;翻訳されたトランスクリプトを形成するように、トランスクリプトをユーザの好みの言語に翻訳することと;分散デバイスに翻訳されたトランスクリプトを提供することと;を含む動作を実行するように、1つ以上のプロセッサを構成する。
【0174】
例12において、例11の主題は、オプションで、翻訳されたトランスクリプトを提供することが、トランスクリプトに翻訳されたテキストを提供することを含むことができる。
【0175】
例13において、例11~12の主題は、オプションで、翻訳されたトランスクリプトを提供することが、翻訳されたトランスクリプトのテキストを音声に変換することを含むことができる。
【0176】
例14において、例11~13の主題は、オプションで、翻訳されたトランスクリプトを提供することが、トランスクリプトの各翻訳された発話に対して話者のアイデンティティを提供することを含むことができる。
【0177】
例15において、例11~14の主題は、オプションで、ユーザの好みの言語を決定することが、ユーザのために以前に確立された好みの言語を示すユーザの好みにアクセスすることを含むことができる。
【0178】
例16において、例11~15の主題は、オプションで、インテリジェント会議が臨時会議であり、方法は、さらに、オーディオストリームが臨時会議からの音を表していることを決定するためにオーディオストリームを比較することと;オーディオストリームが臨時会議からの音を表していると決定する比較することに応答して、オーディオストリームを処理するために会議インスタンスを生成することと;を含むことができる。
【0179】
例17では、例11~16の主題は、オプションで、動作は、さらに、同時に話す異なる話者からの音声を別々のオーディオチャンネルに分離するように受信したオーディオストリームに連続的な音声分離を実行することを含み、トランスクリプトを生成することは、分離されたオーディオチャンネルに基づくことができる。
【0180】
例18において、例11~17の主題は、オプションで、ユーザを識別することが、ユーザをキャプチャするビデオ信号を受信することと;ユーザを識別するためにユーザの記憶された画像をビデオ信号とマッチングさせることと;を含むことができる。
【0181】
例19において、例11~18の主題は、オプションで、ユーザを識別することが、ユーザの記憶された音声署名をオーディオストリームからの音声とマッチングさせることを含むことができる。
【0182】
例20は、分散システムにおいてユーザの好みに基づいてカスタマイズされた出力を提供するためのデバイスである。システムは、1つ又は複数のプロセッサと、記憶デバイスであって、1つ又は複数のハードウェアプロセッサによって実行されると、1つ又は複数のハードウェアプロセッサに、インテリジェント会議に関与する複数の分散デバイスからのオーディオストリームを受信することと;複数の分散デバイスのうちの分散デバイスに対応するユーザを識別することと;ユーザの好みの言語を決定することと;受信したオーディオストリームからトランスクリプトを生成することと;翻訳されたトランスクリプトを形成するように、ユーザの好みの言語にトランスクリプトを翻訳することと;翻訳されたトランスクリプトを分散デバイスに提供することと;を含む動作を実行させる命令を記憶する記憶デバイスとを含む。
【0183】
少数の実施形態を上記で詳細に説明したが、他の修正が可能である。例えば、図に示された論理フローは、所望の結果を達成するために、図示された特定の順序、又はシーケンシャルな順序を必要としない。他のステップが提供されてもよく、又はステップが記載されたフローから除去されてもよく、他のコンポーネントが記載されたシステムに追加されてもよく、又はそれから除去されてもよい。他の実施形態は、以下の特許請求の範囲の範囲内であり得る。