(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-12-10
(54)【発明の名称】分散型オーディオデバイスダッキング
(51)【国際特許分類】
H04R 3/02 20060101AFI20241203BHJP
H04R 3/00 20060101ALI20241203BHJP
【FI】
H04R3/02
H04R3/00 310
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024527308
(86)(22)【出願日】2022-11-04
(85)【翻訳文提出日】2024-05-09
(86)【国際出願番号】 US2022048956
(87)【国際公開番号】W WO2023086273
(87)【国際公開日】2023-05-19
(32)【優先日】2021-11-10
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-04-12
(33)【優先権主張国・地域又は機関】EP
(32)【優先日】2022-04-12
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】507236292
【氏名又は名称】ドルビー ラボラトリーズ ライセンシング コーポレイション
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100229448
【氏名又は名称】中槇 利明
(72)【発明者】
【氏名】サウスウェル,ベンジャミン
(72)【発明者】
【氏名】グナワン,デイヴィッド
(72)【発明者】
【氏名】ゼーフェルト,アラン ジェイ.
【テーマコード(参考)】
5D220
【Fターム(参考)】
5D220AA12
5D220CC06
5D220CC08
(57)【要約】
オーディオ処理方法は、オーディオ環境内の複数のマイクロホンの各マイクロホンから出力信号を受信するステップを含み得、出力信号は、人の現在の発話に対応する。本方法は、出力信号に応答して、オーディオデバイスロケーション情報およびエコー管理システム情報に少なくとも部分的に基づいて、オーディオ環境内の2つ以上のオーディオデバイスのためのラウドスピーカフィード信号にレンダリングされているオーディオデータに適用すべき1つまたは複数のオーディオ処理変更を決定することを含み得る。オーディオ処理変更は、オーディオ環境内の1つまたは複数のラウドスピーカのラウドスピーカ再生レベルの低減を含み得る。本方法は、1つまたは複数のタイプのオーディオ処理変更を適用させることを含み得る。オーディオ処理変更は、1つまたは複数のマイクロホンにおける音声対エコー比を増加させる効果を有し得る。
【特許請求の範囲】
【請求項1】
オーディオ処理方法であって、
制御システムによって、オーディオ環境内の1つまたは複数のマイクロホンから出力信号を受信するステップであって、前記出力信号は、人の現在の発話に対応する信号を含む、ステップと、
前記制御システムによって、前記出力信号に応答して、オーディオデバイスロケーション情報およびエコー管理システム情報に少なくとも部分的に基づいて、前記オーディオ環境内の2つ以上のオーディオデバイスのためのラウドスピーカフィード信号にレンダリングされているオーディオデータに適用すべき1つまたは複数のオーディオ処理変更を決定するステップであって、前記オーディオ処理変更は、前記オーディオ環境内の1つまたは複数のラウドスピーカのラウドスピーカ再生レベルの低減を含む、ステップと、
前記制御システムによって、前記1つまたは複数のタイプのオーディオ処理変更を適用させるステップと
を含む方法。
【請求項2】
前記1つまたは複数のタイプのオーディオ処理変更のうちの少なくとも1つは、信号対エコー比の増加に対応する、請求項1に記載の方法。
【請求項3】
前記エコー管理システム情報は、エコー管理システム性能のモデルを含む、請求項1に記載の方法。
【請求項4】
前記エコー管理システム性能のモデルは、音響エコーキャンセラ(AEC)性能行列を含む、請求項3に記載の方法。
【請求項5】
前記エコー管理システム性能のモデルは、エコー管理システムによって提供される予想エコーリターンロスエンハンスメントの尺度を含む、請求項3に記載の方法。
【請求項6】
前記1つまたは複数のタイプのオーディオ処理変更は、デバイス間エコーおよびデバイス内エコーの音響モデルに少なくとも部分的に基づく、請求項1に記載の方法。
【請求項7】
前記1つまたは複数のタイプのオーディオ処理変更は、相互可聴性行列に少なくとも部分的に基づき、前記相互可聴性行列は、前記オーディオデバイス間のエコー経路のエネルギーを表す、請求項1に記載の方法。
【請求項8】
前記1つまたは複数のタイプのオーディオ処理変更は、前記人の推定ロケーションに少なくとも部分的に基づく、請求項1に記載の方法。
【請求項9】
前記人の前記推定ロケーションは、前記オーディオ環境内の複数のマイクロホンからの出力信号に少なくとも部分的に基づく、請求項8に記載の方法。
【請求項10】
前記1つまたは複数のタイプのオーディオ処理変更は、前記人の前記推定ロケーションから離れるようにオーディオ信号のレンダリングをワープするためにレンダリングプロセスを変更することを含む、請求項8に記載の方法。
【請求項11】
前記1つまたは複数のタイプのオーディオ処理変更は、リスニング目的に少なくとも部分的に基づく、請求項1に記載の方法。
【請求項12】
前記リスニング目的は、空間成分または周波数成分のうちの少なくとも1つを含む、請求項11に記載の方法。
【請求項13】
前記1つまたは複数のタイプのオーディオ処理変更は、1つまたは複数の制約に少なくとも部分的に基づく、請求項1に記載の方法。
【請求項14】
前記1つまたは複数の制約は知覚モデルに基づく、請求項13に記載の方法。
【請求項15】
前記1つまたは複数の制約は、オーディオコンテンツエネルギー保存、オーディオ空間性保存、オーディオエネルギーベクトル、または正則化制約のうちの1つまたは複数を含む、請求項13に記載の方法。
【請求項16】
前記1つまたは複数のタイプのオーディオ処理変更を適用させた後に、前記オーディオ環境の音響モデルまたはエコー管理システム性能のモデルのうちの少なくとも1つを更新するステップをさらに含む、請求項1に記載の方法。
【請求項17】
前記1つまたは複数のタイプのオーディオ処理変更を決定するステップは、コスト関数の最適化に基づく、請求項1に記載の方法。
【請求項18】
前記1つまたは複数のタイプのオーディオ処理変更は、スペクトル修正を含む、請求項1に記載の方法。
【請求項19】
前記スペクトル修正は、500Hzから3KHzの周波数帯域におけるオーディオデータのレベルを低減することを含む、請求項18に記載の方法。
【請求項20】
前記現在の発話は、ウェイクワード発話を含む、請求項1に記載の方法。
【請求項21】
請求項1から20のいずれか一項に記載の方法を実行するように構成された装置。
【請求項22】
請求項1から20のいずれか一項に記載の方法を実行するように構成されたシステム。
【請求項23】
ソフトウェアが記憶された1つまたは複数の非一時的媒体であって、前記ソフトウェアは、請求項1から20のいずれか一項に記載の方法を実行するように1つまたは複数のデバイスを制御するための命令を含む、非一時的媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本出願は、2021年11月10日に出願された米国仮特許出願第63/278,003号、2022年4月12日に出願された米国仮特許出願第63/362,842号、および2022年4月12日に出願された欧州特許出願第22167857.6号に対する優先権を主張するものであり、これらのすべては、参照によりその全体が本明細書に組み込まれる。
[技術分野]
【0002】
本開示は、スマートオーディオデバイスなどのオーディオデバイスをオーケストレーションおよび実装し、そのようなオーディオデバイスにおける音声対エコー比(SER)を制御するためのシステムおよび方法に関する。
【背景技術】
【0003】
限定はしないが、スマートオーディオデバイスを含むがオーディオデバイスは、広く展開されており、多くの家庭で一般的な機能になりつつある。オーディオデバイスを制御するための既存のシステムおよび方法は利益をもたらすが、改善されたシステムおよび方法が望ましい。
【0004】
表記法と命名法
特許請求の範囲を含む本開示全体を通して、「スピーカ」、「ラウドスピーカ」、および「オーディオ再生トランスデューサ」という用語は、任意の放音トランスデューサ(sound-emitting transducer)(またはトランスデューサのセット)を示すために同義的に使用される。典型的なヘッドホンのセットには2つのスピーカが含まれている。スピーカは、単一の共通スピーカフィードまたは複数のスピーカフィードによって駆動され得る複数のトランスデューサ(例えば、ウーファーおよびツイーター)を含むように実装され得る。いくつかの例では、スピーカフィード(複数可)は、異なるトランスデューサに結合された異なる回路分岐において異なる処理を受け得る。
【0005】
特許請求の範囲を含む本開示全体を通して、信号またはデータ「に対して」動作を実行する(例えば、信号またはデータをフィルタリングする、スケーリングする、変換する、または信号またはデータに利得を適用する)という表現は、信号もしくはデータに対して直接、または信号もしくはデータの処理されたバージョンに対して(例えば、それに対する動作の実行より前に予備フィルタリングまたは前処理を受けた信号のバージョンに対して)動作を実行することを示すために広い意味で使用される。
【0006】
特許請求の範囲を含む本開示全体を通して、「システム」という表現は、デバイス、システム、またはサブシステムを示すために広い意味で使用される。例えば、デコーダを実装するサブシステムは、デコーダシステムと呼ばれることがあり、そのようなサブシステムを含むシステム(例えば、複数の入力に応答してX個の出力信号を生成するシステムであって、サブシステムが入力のうちのM個の入力を生成し、他のX-M個の入力は外部ソースから受信される、システム)も、デコーダシステムと呼ばれることがある。
【0007】
特許請求の範囲を含む本開示全体を通して、「プロセッサ」という用語は、データ(例えば、オーディオ、またはビデオもしくは他の画像データ)に対して動作を実行するために(例えば、ソフトウェアまたはファームウェアを用いて)プログラム可能であるかまたは場合によっては構成可能であるシステムまたはデバイスを示すために広い意味で使用される。プロセッサの例には、フィールドプログラマブルゲートアレイ(または他の構成可能な集積回路またはチップセット)、オーディオまたは他の音データに対してパイプライン処理を実行するようにプログラムされたおよび/または他の方法で構成されたデジタルシグナルプロセッサ、プログラム可能な汎用プロセッサまたはコンピュータ、およびプログラム可能なマイクロプロセッサチップまたはチップセットが含まれる。
【0008】
特許請求の範囲を含む本開示全体を通して、「結合する(couples)」または「結合された(coupled)」という用語は、直接接続または間接接続のいずれかを意味するために使用される。したがって、第1のデバイスが第2のデバイスに結合する場合、その接続は、直接接続を通して、または他のデバイスおよび接続を介した間接接続を通して行われ得る。
【0009】
本明細書で使用される場合、「スマートデバイス」は、一般に、Bluetooth(登録商標)、ジグビー(Zigbee)、近距離無線通信、Wi-Fi、ライトフィデリティ(Li-Fi)、3G、4G、5Gなどの様々なワイヤレスプロトコルを介して1つまたは複数の他のデバイス(またはネットワーク)と通信するように構成され、ある程度対話的におよび/または自律的に動作することができる電子デバイスである。いくつかの注目すべきタイプのスマートデバイスには、スマートフォン、スマートカー、スマートサーモスタット、スマートドアベル、スマートロック、スマート冷蔵庫、ファブレットおよびタブレット、スマートウォッチ、スマートバンド、スマートキーチェーン、ならびにスマートオーディオデバイスがある。「スマートデバイス」という用語はまた、人工知能などのユビキタスコンピューティングのいくつかのプロパティを示すデバイスを指し得る。
【0010】
本明細書では、「スマートオーディオデバイス」という表現を使用して、単一目的オーディオデバイスまたは多目的オーディオデバイス(例えば、仮想アシスタント機能の少なくともいくつかの側面を実装するオーディオデバイス)のいずれかであるスマートデバイスを示す。単一目的オーディオデバイスは、少なくとも1つのマイクロホンを含むか、またはそれに結合され(そしてオプションで、少なくとも1つのスピーカおよび/または少なくとも1つのカメラも含むか、またはそれに結合され)、大部分はまたは主に、単一の目的を達成するように設計されたデバイス(例えば、テレビ(TV))である。例えば、TVは、典型的には、番組素材からのオーディオを再生することができる(そして、再生可能であると考えられる)が、ほとんどの場合、現代のTVは、テレビを見るアプリケーションを含むアプリケーションがローカルに実行される何らかのオペレーティングシステムを実行する。この意味で、スピーカ(複数可)およびマイクロホン(複数可)を有する単一目的オーディオデバイスは、スピーカ(複数可)およびマイクロホン(複数可)を直接使用するためにローカルアプリケーションおよび/またはサービスを実行するように構成されることが多い。単一目的オーディオデバイスの中には、ゾーンまたはユーザ構成エリアにわたってオーディオの再生を達成するためにグループ化するように構成されているものもあり得る。
【0011】
1つの一般的なタイプの多目的オーディオデバイスは、仮想アシスタント機能の少なくともいくつかの側面を実装するオーディオデバイスであり、仮想アシスタント機能の他の側面は、多目的オーディオデバイスが通信するように構成された1つまたは複数のサーバなどの1つまたは複数の他のデバイスによって実装され得る。そのような多目的オーディオデバイスは、本明細書では、「仮想アシスタント」と呼ばれることがある。仮想アシスタントは、少なくとも1つのマイクロホンを含むかまたはそれに結合された(そしてオプションで、少なくとも1つのスピーカおよび/または少なくとも1つのカメラも含むかまたはそれに結合された)デバイス(例えば、スマートスピーカまたは音声アシスタント統合デバイス)である。いくつかの例では、仮想アシスタントは、ある意味ではクラウド対応であるか、そうでなければ仮想アシスタント自体野中または上に完全には実装されていないアプリケーションのために、(仮想アシスタントとは異なる)複数のデバイスを利用する能力を提供し得る。言い換えると、仮想アシスタント機能の少なくともいくつかの側面、例えば、音声認識機能は、仮想アシスタントがインターネットなどのネットワークを介して通信し得る1つまたは複数のサーバまたは他のデバイスによって(少なくとも部分的に)実装され得る。仮想アシスタントは、例えば、離散的かつ条件付きで定義された方法で、一緒に動作することもあり得る。例えば、2つ以上の仮想アシスタントは、それらのうちの1つ、例えば、ウェイクワードを聞き取ったことを最も確信している方がウェイクワードに応答するという意味で、一緒に動作し得る。接続された仮想アシスタントは、いくつかの実装形態では、仮想アシスタントであり得る(またはそれを実装し得る)1つのメインアプリケーションによって管理され得る、ある種のコンスタレーションを形成し得る。
【0012】
本明細書では、「ウェイクワード」は、任意の音(例えば、人間によって発せられる単語、または何らかの他の音)を示すために広い意味で使用され、スマートオーディオデバイスは、(スマートオーディオデバイスに含まれるかもしくはそれに結合された少なくとも1つのマイクロホン、または少なくとも1つの他のマイクロホンを使用した)音の検出(「聞き取り」)に応答してアウェイクするように構成される。このコンテキストでは、「アウェイクする」ことは、デバイスが、音コマンドを待つ(言い換えると、サウンドコマンドをリスンしている)状態に入ることを示す。いくつかの事例では、本明細書で「ウェイクワード」と呼ばれ得るものには、2つ以上の単語、例えば、フレーズが含まれ得る。
【0013】
本明細書では、「ウェイクワード検出器」という表現は、リアルタイム音(例えば、音声)特徴とトレーニングされたモデルとの間の整合を連続的に検索するように構成されたデバイス(またはデバイスを構成するための命令を含むソフトウェア)を示す。典型的には、ウェイクワードイベントは、ウェイクワードが検出された確率が事前定義されたしきい値を超えるとウェイクワード検出器が決定するたびにトリガされる。例えば、しきい値は、誤受容率と誤拒絶率との間の妥当な妥協点を与えるように調整された所定のしきい値であり得る。ウェイクワードイベントに続いて、デバイスは、コマンドをリスンし、受信したコマンドをより大きくより計算集約的な認識器に渡す状態(「アウェイクされた」状態または「注意力(attentiveness)」の状態と呼ばれることがある)に入り得る。
【0014】
本明細書で使用される場合、「プログラムストリーム」および「コンテンツストリーム」という用語は、1つまたは複数のオーディオ信号、およびいくつかの事例ではビデオ信号の集合を指し、その少なくとも一部は一緒に聞き取られることが意図される。例としては、音楽、映画のサウンドトラック、映画、テレビ番組、テレビ番組のオーディオ部分、ポッドキャスト、ライブ音声通話、スマートアシスタントからの合成音声応答などの選択が含まれる。いくつかの事例では、コンテンツストリームは、オーディオ信号の少なくとも一部分の複数のバージョン、例えば、2つ以上の言語での同じダイアログを含み得る。そのような事例では、オーディオデータまたはその一部の1つのバージョン(例えば、単一の言語に対応するバージョン)のみが、一度に再生されることが意図される。
【発明の概要】
【0015】
本開示の少なくともいくつかの態様は、1つまたは複数のオーディオ処理方法を介して実装され得る。いくつかの事例では、方法(複数可)は、少なくとも部分的に、制御システムによって、および/または1つまたは複数の非一時的媒体上に記憶される命令(例えば、ソフトウェア)を介して実装され得る。いくつかのそのような方法は、制御システムによって、オーディオ環境内の1つまたは複数のマイクロホンから出力信号を受信するステップを含み得る。出力信号は、いくつかの事例では、人の現在の発話に対応する信号を含み得る。いくつかのそのような例では、現在の発話は、ウェイクワード発話であり得るか、またはそれを含み得る。
【0016】
いくつかのそのような方法は、制御システムによって、出力信号に応答して、オーディオデバイスロケーション情報およびエコー管理システム情報に少なくとも部分的に基づいて、オーディオ環境内の2つ以上のオーディオデバイスのためのラウドスピーカフィード信号にレンダリングされているオーディオデータに適用すべき1つまたは複数のオーディオ処理変更を決定するステップを含み得る。いくつかの例では、オーディオ処理変更は、オーディオ環境内の1つまたは複数のラウドスピーカのラウドスピーカ再生レベルの低減を含み得る。いくつかのそのような方法は、制御システムによって、1つまたは複数のタイプのオーディオ処理変更を適用させるステップを含み得る。
【0017】
いくつかの例では、オーディオ処理変更のうちの少なくとも1つは、信号対エコー比の増加に対応し得る。いくつかのそのような例によれば、エコー管理システム情報は、エコー管理システム性能のモデルを含み得る。例えば、エコー管理システム性能のモデルは、音響エコーキャンセラ(AEC)性能行列を含み得る。いくつかの例では、エコー管理システム性能のモデルは、エコー管理システムによって提供される予想エコーリターンロスエンハンスメントの尺度を含み得る。
【0018】
いくつかの例によれば、1つまたは複数のタイプのオーディオ処理変更を決定することは、コスト関数の最適化に少なくとも部分的に基づき得る。代替的または追加的に、いくつかの例では、1つまたは複数のタイプのオーディオ処理変更は、デバイス間エコーおよびデバイス内エコーの音響モデルに少なくとも部分的に基づいてもよい。代替的または追加的に、いくつかの例では、1つまたは複数のタイプのオーディオ処理変更は、オーディオ環境内のオーディオデバイスの相互可聴性に、例えば、相互可聴性行列に少なくとも部分的に基づいてもよい。
【0019】
いくつかの例では、1つまたは複数のタイプのオーディオ処理変更は、人の推定ロケーションに少なくとも部分的に基づき得る。いくつかのそのような例では、人の推定ロケーションは、オーディオ環境内の複数のマイクロホンからの出力信号に少なくとも部分的に基づき得る。いくつかのそのような例によれば、オーディオ処理変更は、人の推定ロケーションから離れるようにオーディオ信号のレンダリングをワープするためにレンダリングプロセスを変更することを含み得る。
【0020】
代替的または追加的に、いくつかの例では、1つまたは複数のタイプのオーディオ処理変更は、リスニング目的に少なくとも部分的に基づいてもよい。いくつかのそのような例では、リスニング目的は、空間成分、周波数成分、または空間成分と周波数成分の両方を含み得る。
【0021】
代替的または追加的に、いくつかの例では、1つまたは複数のタイプのオーディオ処理変更は、1つまたは複数の制約に少なくとも部分的に基づいてもよい。いくつかのそのような例では、1つまたは複数の制約は、知覚モデルに少なくとも部分的に基づき得る。代替的または追加的に、1つまたは複数の制約は、オーディオコンテンツエネルギー保存、オーディオ空間性保存、オーディオエネルギーベクトル、正則化制約、またはそれらの組合せに少なくとも部分的に基づいてもよい。代替的または追加的に、いくつかの例は、1つまたは複数のタイプのオーディオ処理変更を適用させた後に、オーディオ環境の音響モデル、エコー管理システム性能のモデル、またはその両方を更新するステップを含んでもよい。
【0022】
いくつかの例では、1つまたは複数のタイプのオーディオ処理変更は、スペクトル修正を含み得る。いくつかのそのような例では、スペクトル修正は、500Hzから3KHzの周波数帯域におけるオーディオデータのレベルを低減することを含み得る。
【0023】
いくつかの開示される実装形態の態様は、1つまたは複数の開示される方法またはそのステップを実行するように構成された(例えば、プログラムされた)制御システムと、1つまたは複数の開示される方法またはそのステップを実行するためのコード(例えば、実行するために実行可能なコード)を記憶するデータの非一時的記憶を実装する有形の非一時的コンピュータ可読媒体(例えば、ディスクまたは他の有形記憶媒体)とを含む。例えば、いくつかの開示される実施形態は、ソフトウェアもしくはファームウェアでプログラムされた、および/または1つまたは複数の開示される方法またはそのステップを含む、データに対して様々な動作のいずれかを実行するように他の方法で構成された、プログラム可能な汎用プロセッサ、デジタルシグナルプロセッサ、またはマイクロプロセッサであるか、またはそれを含むことができる。そのような汎用プロセッサは、入力デバイスと、メモリと、それにアサートされたデータに応答して1つまたは複数の開示される方法(またはそのステップ)を実行するようにプログラムされた(および/または他の方法で構成された)処理サブシステムとを含むコンピュータシステムであるか、またはそれを含み得る。
【0024】
本明細書で説明される動作、機能、および/または方法の一部または全部は、1つまたは複数の非一時的媒体上に記憶された命令(例えば、ソフトウェア)にしたがって1つまたは複数のデバイスによって実行され得る。そのような非一時的媒体は、限定はしないが、ランダムアクセスメモリ(RAM)デバイス、読取り専用メモリ(ROM)デバイスなどを含む、本明細書で説明するメモリデバイスなどのメモリデバイスを含み得る。したがって、本開示で説明される主題のいくつかの革新的な態様は、ソフトウェアが記憶された非一時的媒体において実装することができる。
【0025】
本明細書で説明される主題の1つまたは複数の実装形態の詳細が、添付の図面および以下の説明に記載される。他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。以下の図の相対的な寸法は、縮尺通りに描かれていない可能性があることに留意されたい。
【図面の簡単な説明】
【0026】
【
図1A】本開示の様々な態様を実装することが可能な装置の構成要素の例を示すブロック図である。
【
図2】
図1Bのオーディオデバイスのうちの3つの間のエコー経路を示す。
【
図3】一例によるオーディオデバイスの構成要素を表すシステムブロック図である。
【
図4】一例によるダッキングモジュールの要素を示す。
【
図5】ダッキングモジュールを含むオーディオデバイスの例を示すブロック図である。
【
図6】ダッキングモジュールを含むオーディオデバイスの代替例を示すブロック図である。
【
図7】ダッキング解を決定するための方法の一例を概説するフロー図である。
【
図8】ダッキング解を決定するための方法の別の例を概説するフロー図である。
【
図9】開示される方法の例を概説するフロー図である。
【
図10】
図1Aに示されるような装置によって実行され得る方法の一例を概説するフロー図である。
【
図11】ゾーン分類器を実装するように構成された実施形態の一例の要素のブロック図である。
【
図12】
図1Aの装置150などの装置によって実行され得る方法の一例を概説するフロー図である。
【
図13】
図1Aの装置150などの装置によって実行され得る方法の別の例を概説するフロー図である。
【
図14】
図1Aの装置150などの装置によって実行され得る方法の別の例を概説するフロー図である。
【
図15】スピーカアクティブ化およびオブジェクトレンダリング位置の例示的なセットを示す図である。
【
図16】スピーカアクティブ化およびオブジェクトレンダリング位置の例示的なセットを示す図である。
【
図17】
図1Aに示されるものなどの装置またはシステムによって実行され得る方法の一例を概説するフロー図である。
【
図18】例示的な実施形態におけるスピーカアクティブ化のグラフである。
【
図19】例示的な実施形態におけるオブジェクトレンダリング位置のグラフである。
【
図20】例示的な実施形態におけるスピーカアクティブ化のグラフである。
【
図21】例示的な実施形態におけるオブジェクトレンダリング位置のグラフである。
【
図22】例示的な実施形態におけるスピーカアクティブ化のグラフである。
【
図23】例示的な実施形態におけるオブジェクトレンダリング位置のグラフである。
【発明を実施するための形態】
【0027】
いくつかの実施形態は、本明細書ではオーケストレーションされたオーディオデバイスとも呼ばれる、調整されたオーディオデバイスを含むシステムを実装するように構成される。いくつかの実装形態では、オーケストレーションされたオーディオデバイスは、スマートオーディオデバイスを含み得る。いくつかのそのような実装形態によれば、スマートオーディオデバイスのうちの2つ以上は、ウェイクワード検出器であり得るか、またはウェイクワード検出器を実装するように構成され得る。したがって、そのような例では、複数のマイクロホン(例えば、非同期マイクロホン)がオーディオ環境内に存在し得る。
【0028】
現在、設計者は、一般に、オーディオデバイスを、娯楽、通信、および情報サービスを混ぜ合わせたものであり得るオーディオのための単一のインターフェースポイントとみなしている。通知および音声制御にオーディオを使用することには、視覚的または物理的な侵入を回避するという利点がある。対話型オーディオのすべての形式において、全二重(入力および出力)オーディオ能力を向上させるという問題は、依然として課題である。室内での送信または情報ベースのキャプチャに関連のないオーディオ出力が室内にあるとき、キャプチャされた信号から(例えば、エコーキャンセレーションおよび/またはエコー抑圧によって)このオーディオを除去することが望ましい。
【0029】
いくつかの開示される実施形態は、1つまたは複数のオーディオデバイスで全二重を成功させるための重要な基準を改善するために、リスナまたは「ユーザ」エクスペリエンスを管理するための手法を提供する。この基準は、本明細書では音声対エコー比とも呼ばれる信号対エコー比(SER)として知られており、1つまたは複数のマイクロホンを介してオーディオ環境(例えば、室内)でキャプチャされるべき音声信号または他の所望の信号と、オーディオ環境の1つまたは複数のラウドスピーカによって再生されている出力プログラムコンテンツ、対話型コンテンツなどに対応する1つまたは複数のマイクロホンからの信号を含む、オーディオデバイスにおいて提示される「エコー」との間の比として定義され得る。当業者であれば、このコンテキストにおいて、「エコー」が、マイクロホンによってキャプチャされる前に必ずしも反射されるわけではないことを認識するであろう。
【0030】
そのような実施形態は、ユーザの音響範囲内に2つ以上のオーディオデバイスが存在し、各オーディオデバイスが、所望の娯楽、通信、または情報サービスのために、ユーザのロケーションで適切な音量のオーディオプログラム材料を提示することができる状況において有用であり得る。そのような実施形態の価値は、同様にユーザの近くに3つ以上のオーディオデバイスが存在するときに特に高くなり得る。オーディオデバイスがユーザのより近くにある場合、オーディオデバイスは、音を正確に位置特定するか、または特定のオーディオシグナリングおよびイメージングをユーザに伝える能力に関してより有利になり得る。しかしながら、これらのオーディオデバイスが1つまたは複数のマイクロホンを含む場合、これらのオーディオデバイスのうちの1つまたは複数もまた、ユーザの音声を拾うのに好ましいマイクロホンシステムを有し得る。
【0031】
オーディオデバイスは、オーディオデバイスがコンテンツを再生している最中にユーザの音声コマンドに応答する必要があることが多々あり、その場合、オーディオデバイスのマイクロホンシステムは、オーディオデバイスによって再生されたコンテンツを検出することになる。言い換えれば、オーディオデバイスは、自身の「エコー」を聞くことになる。ウェイクワード検出器の特殊な性質により、そのようなデバイスは、このエコーの存在下でも、より一般的な音声認識エンジンよりも優れた性能を発揮することが可能であり得る。これらのオーディオデバイスにおいて実装される一般的な機構は、一般に「ダッキング(ducking)」と呼ばれ、ウェイクワードを検出した後にオーディオデバイスの再生レベルを低減し、オーディオデバイスが、ユーザによって発せられたウェイクワード後コマンドをより良好に認識することができるようにすることを含む。そのようなダッキングは、一般に、音声認識性能を予測するための一般的なメトリックであるSERの改善をもたらす。
【0032】
複数のオーディオデバイスが単一の音響空間(本明細書では「オーディオ環境」とも呼ばれる)に位置する、分散されオーケストレーションされたオーディオデバイスのコンテキストでは、単一のオーディオデバイスの再生のみをダッキングすることは、最適解ではない可能性がある。これは、オーディオ環境内の他のダッキングされていないオーディオデバイスからの「エコー」(検出されたオーディオ再生)が、単一のオーディオデバイスの再生のみをダッキングすることによって、達成可能な最大SERを制限し得るので、部分的に真であり得る。
【0033】
したがって、いくつかの開示される実施形態は、オーディオ環境の1つまたは複数のマイクロホンにおけるSERを増加させるために、オーディオ環境の2つ以上のオーディオデバイスのためのオーディオ処理変更を引き起こしてもよい。いくつかの例では、オーディオ処理変更(複数可)は、最適化プロセスの結果にしたがって決定され得る。いくつかの例によれば、最適化プロセスは、ユーザのリスニングエクスペリエンスの1つまたは複数の側面を維持する制約に対して、客観的な音キャプチャ性能目標をトレードオフすることを含み得る。いくつかの例では、制約は、知覚的制約、客観的制約、またはそれらの組合せであり得る。いくつかの開示される例は、本明細書では「キャプチャスタック」と呼ばれることもあるエコー管理信号チェーンと、音響空間と、オーディオ処理変更(複数可)の知覚的影響とを記述するモデルを実装することと、それらを明示的にトレードオフすること(例えば、すべてのそのような要因を考慮した解を求めること)とを含む。
【0034】
いくつかの例によれば、プロセスは、例えば、各オーディオ処理変更(1つまたは複数のレンダリングパラメータの各変更など)の後に、音響およびキャプチャスタックモデルが更新される閉ループシステムを含み得る。いくつかのそのような例は、経時的にオーディオシステムの性能を反復的に改善することを含み得る。
【0035】
いくつかの開示される実装形態は、以下の要因のうちの1つもしくは複数、またはそれらの組合せに少なくとも部分的に基づき得る:
・ 所与の構成および出力解について達成されるSERを予測することができる、音響環境(言い換えると、オーディオ環境の音響効果)およびエコー管理信号チェーンのモデル;
・ 客観的メトリックと主観的メトリックの両方にしたがって出力解を制限する制約、これには以下が含まれる:
- コンテンツエネルギー保存;
- 空間性保存;
- エネルギーベクトル;および/または
- 次のような正則化:
◇ 本明細書では「ワッフル」と呼ばれることがある、ラウドスピーカアクティブ化の2次元または3次元アレイのレベル1正則化(L1)、レベル2正則化(L2)、もしくは任意のレベルの正則化(LN)歪み;および/または
◇ ダッキング利得のL1、L2またはLN正則化;
・ 目標解における空間成分とレベル成分の両方を決定し得るリスニング目的。
【0036】
いくつかの例によれば、ダッキング解は、以下の要因のうちの1つもしくは複数、またはそれらの組合せに少なくとも部分的に基づき得る。
・ いくつかの例では、すでにレンダリングされたオーディオコンテンツに適用され得る単純な利得;
- これらの利得は、特定の実装形態に応じて、全帯域または周波数依存であり得る;
・ レンダラが、いくつかの例では、ワッフルと組み合わせて使用し得るレンダラへの入力;および/または
・ 本明細書ではワッフルメーカーと呼ばれることがあり、いくつかの事例では、レンダラの構成要素であり得る、ワッフルを生成するデバイス、モジュールなどへの入力。ワッフルメーカーは、いくつかの例では、そのような入力を使用して、ダッキングされたワッフルを生成し得る。
【0037】
いくつかの実装形態では、ワッフルメーカーおよび/またはレンダラへのそのような入力を使用して、オーディオオブジェクトが、ウェイクワードが検出されたロケーションから「遠ざけられる」ように見え得るようにオーディオ再生を変更し得る。いくつかのそのような実装形態は、(a)オーディオ環境内のラウドスピーカのセット上で再生されるときに再生されるオーディオ信号の知覚空間位置のモデルと、(b)ラウドスピーカのセットの各ラウドスピーカの位置に対するオーディオ信号の意図された知覚空間位置の近接性の尺度と、(c)1つまたは複数の追加の動的に構成可能な機能(additional dynamically configurable function)との関数であるコストを最適化することによって、オーディオ環境内のラウドスピーカのセットの相対的なアクティブ化を決定することを含み得る。いくつかのそのような実装形態については、以下で詳細に説明する。
【0038】
図1Aは、本開示の様々な態様を実装することが可能な装置の構成要素の例を示すブロック図である。本明細書で提供される他の図と同様に、
図1Aに示される要素のタイプおよび数は、単に例として提供されるものである。他の実装形態は、より多くの、より少ない、および/または異なるタイプおよび数の要素を含み得る。いくつかの例によれば、装置150は、本明細書で開示される方法のうちの少なくともいくつかを実行するように構成され得る。いくつかの実装形態では、装置150は、オーディオシステムの1つまたは複数の構成要素であり得るか、またはそれを含み得る。例えば、装置150は、いくつかの実装形態では、スマートオーディオデバイスなどのオーディオデバイスであり得る。他の例では、装置150は、モバイルデバイス(携帯電話など)、ラップトップコンピュータ、タブレットデバイス、テレビ、または別のタイプのデバイスであり得る。
【0039】
いくつかの代替実装形態によれば、装置150は、サーバであってもよく、またはそれを含んでもよい。いくつかのそのような例では、装置150は、エンコーダであり得るか、またはそれを含み得る。したがって、いくつかの事例では、装置150は、ホームオーディオ環境などのオーディオ環境内での使用のために構成されたデバイスであり得るが、他の事例では、装置150は、「クラウド」、例えば、サーバでの使用のために構成されたデバイスであり得る。
【0040】
この例では、装置150は、インターフェースシステム155および制御システム160を含む。インターフェースシステム155は、いくつかの実装形態では、オーディオ環境の1つまたは複数の他のデバイスとの通信のために構成され得る。オーディオ環境は、いくつかの例では、ホームオーディオ環境であり得る。他の例では、オーディオ環境は、オフィス環境、自動車環境、列車環境、街路または歩道環境、公園環境など、別のタイプの環境であり得る。インターフェースシステム155は、いくつかの実装形態では、制御情報および関連データをオーディオ環境のオーディオデバイスと交換するために構成され得る。制御情報および関連データは、いくつかの例では、装置150が実行している1つまたは複数のソフトウェアアプリケーションに関係し得る。
【0041】
インターフェースシステム155は、いくつかの実装形態では、コンテンツストリームを受信または提供するために構成され得る。コンテンツストリームは、オーディオデータを含み得る。オーディオデータは、オーディオ信号を含み得るが、これに限定されない。いくつかの事例では、オーディオデータは、チャネルデータおよび/または空間メタデータのような空間データを含み得る。メタデータは、例えば、本明細書では「エンコーダ」と呼ばれることがあるものによって提供されている場合がある。いくつかの例では、コンテンツストリームは、ビデオデータと、ビデオデータに対応するオーディオデータとを含み得る。
【0042】
インターフェースシステム155は、1つまたは複数のネットワークインターフェースおよび/または1つまたは複数の外部デバイスインターフェース(1つまたは複数のユニバーサルシリアルバス(USB)インターフェースなど)を含み得る。いくつかの実装形態によれば、インターフェースシステム155は、1つまたは複数のワイヤレスインターフェースを含み得る。インターフェースシステム155は、1つまたは複数のマイクロホン、1つまたは複数のスピーカ、ディスプレイシステム、タッチセンサシステムおよび/またはジェスチャセンサシステムなど、ユーザインターフェースを実装するための1つまたは複数のデバイスを含み得る。いくつかの例では、インターフェースシステム155は、制御システム160と、
図1Aに示されるオプションのメモリシステム165などのメモリシステムとの間の1つまたは複数のインターフェースを含み得る。しかしながら、いくつかの事例では、制御システム160がメモリシステムを含み得る。インターフェースシステム155は、いくつかの実装形態では、環境内の1つまたは複数のマイクロホンから入力を受信するように構成され得る。
【0043】
制御システム160は、例えば、汎用シングルまたはマルチチッププロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブル論理デバイス、ディスクリートゲートまたはトランジスタロジック、および/またはディスクリートハードウェア構成要素を含み得る。
【0044】
いくつかの実装形態では、制御システム160は、2つ以上のデバイス内に存在し得る。例えば、いくつかの実装形態では、制御システム160の一部が、本明細書に示される環境のうちの1つ内のデバイス内に存在し得、制御システム160の別の部分が、サーバ、モバイルデバイス(例えば、スマートフォンまたはタブレットコンピュータ)などの環境の外側にあるデバイス内に存在し得る。他の例では、制御システム160の一部は、本明細書に示される環境のうちの1つ内のデバイス内に存在し得、制御システム160の別の部分は、環境の1つまたは複数の他のデバイス内に存在し得る。例えば、制御システム機能性は、環境の複数のスマートオーディオデバイスにわたって分散されてもよいし、オーケストレーションデバイス(本明細書ではスマートホームハブと呼ばれることがあるものなど)および環境の1つまたは複数の他のデバイスによって共有されてもよい。他の例では、制御システム160の一部は、サーバなどのクラウドベースのサービスを実装しているデバイス内に存在してもよく、制御システム160の別の部分は、別のサーバ、メモリデバイスなどのクラウドベースのサービスを実装している別のデバイス内に存在してもよい。インターフェースシステム155はまた、いくつかの例では、2つ以上のデバイス内に存在し得る。
【0045】
いくつかの実装形態では、制御システム160は、本明細書で開示される方法を少なくとも部分的に実行するように構成され得る。いくつかの例によれば、制御システム160は、オーディオ環境の1つまたは複数のマイクロホンにおけるSERを増加させるために、オーディオ環境の2つ以上のオーディオデバイスのためのオーディオ処理変更を決定し、引き起こすように構成され得る。いくつかの例では、オーディオ処理変更(複数可)は、オーディオデバイスロケーション情報およびエコー管理システム情報に少なくとも部分的に基づき得る。いくつかの例によれば、オーディオ処理変更(複数可)は、ウェイクワードの発話など、人の現在の発話に対応するマイクロホン出力信号に応答し得る。いくつかの例では、オーディオ処理変更(複数可)は、最適化プロセスの結果にしたがって決定され得る。いくつかの例によれば、最適化プロセスは、ユーザのリスニングエクスペリエンスの1つまたは複数の側面を維持する制約に対して、客観的な音キャプチャ性能目標をトレードオフすることを含み得る。いくつかの例では、制約は、知覚的制約、客観的制約、またはそれらの組合せであり得る。
【0046】
本明細書で説明される方法の一部または全部は、1つまたは複数の非一時的媒体上に記憶された命令(例えば、ソフトウェア)にしたがって1つまたは複数のデバイスによって実行され得る。そのような非一時的媒体は、限定はしないが、ランダムアクセスメモリ(RAM)デバイス、読取り専用メモリ(ROM)デバイスなどを含む、本明細書で説明するメモリデバイスなどのメモリデバイスを含み得る。1つまたは複数の非一時的媒体は、例えば、
図1Aに示されるオプションのメモリシステム165および/または制御システム160に存在してもよい。したがって、本開示で説明される主題の様々な革新的な態様は、ソフトウェアが記憶された1つまたは複数の非一時的媒体において実装することができる。ソフトウェアは、例えば、本明細書に開示される方法のうちのいくつかまたはすべてを実行するように、少なくとも1つのデバイスを制御するための命令を含み得る。ソフトウェアは、例えば、
図1Aの制御システム160などの制御システムの1つまたは複数の構成要素によって実行可能であり得る。
【0047】
いくつかの例では、装置150は、
図1Aに示されるオプションのマイクロホンシステム170を含み得る。オプションのマイクロホンシステム170は、1つまたは複数のマイクロホンを含み得る。いくつかの例によれば、オプションのマイクロホンシステム170は、マイクロホンのアレイを含み得る。いくつかの例では、マイクロホンのアレイは、例えば、制御システム160からの命令にしたがって、到来方向(DOA)および/または到来時間(TOA)情報を決定するように構成され得る。マイクロホンのアレイは、いくつかの事例では、例えば、制御システム160からの命令にしたがって、受信側ビームフォーミングのために構成され得る。いくつかの実装形態では、マイクロホンのうちの1つまたは複数は、スピーカシステムのスピーカ、スマートオーディオデバイスなど、別のデバイスの一部であるか、またはそれに関連付けられ得る。いくつかの例では、装置150は、マイクロホンシステム170を含まない場合がある。しかしながら、いくつかのそのような実装形態では、装置150は、それにもかかわらず、インターフェースシステム160を介してオーディオ環境内の1つまたは複数のマイクロホンのためのマイクロホンデータを受信するように構成され得る。いくつかのそのような実装形態では、装置150のクラウドベースの実装形態は、インターフェースシステム160を介してオーディオ環境内の1つまたは複数のマイクロホンからマイクロホンデータ、またはマイクロホンデータに対応するデータを受信するように構成され得る。
【0048】
いくつかの実装形態によれば、装置150は、
図1Aに示されるオプションのラウドスピーカシステム175を含み得る。オプションのラウドスピーカシステム175は、本明細書では「スピーカ」、またはより一般的には「オーディオ再生トランスデューサ」と呼ばれることもある、1つまたは複数のラウドスピーカを含み得る。いくつかの例(例えば、クラウドベース実装形態)では、装置150は、ラウドスピーカシステム175を含まない場合がある。
【0049】
いくつかの実装形態では、装置150は、
図1Aに示されるオプションのセンサシステム180を含み得る。オプションのセンサシステム180は、1つまたは複数のタッチセンサ、ジェスチャセンサ、動き検出器などを含み得る。いくつかの実装形態によれば、オプションのセンサシステム180は、1つまたは複数のカメラを含み得る。いくつかの実装形態では、カメラは、自立型カメラであり得る。いくつかの例では、オプションのセンサシステム180の1つまたは複数のカメラは、いくつかの例では、仮想アシスタントを少なくとも部分的に実装するように構成され得るスマートオーディオデバイス内に存在し得る。いくつかのそのような例では、オプションのセンサシステム180の1つまたは複数のカメラは、テレビ、モバイルホンまたはスマートスピーカ内に存在し得る。いくつかの例では、装置150は、センサシステム180を含まない場合がある。しかしながら、いくつかのそのような実装形態では、装置150は、それにもかかわらず、インターフェースシステム160を介してオーディオ環境内の1つまたは複数のセンサのためのセンサデータを受領するよう構成され得る。
【0050】
いくつかの実装形態では、装置150は、
図1Aに示されるオプションのディスプレイシステム185を含み得る。オプションのディスプレイシステム185は、1つまたは複数の発光ダイオード(LED)ディスプレイなどの1つまたは複数のディスプレイを含み得る。いくつかの事例では、オプションのディスプレイシステム185は、1つまたは複数の有機発光ダイオード(OLED)ディスプレイを含み得る。いくつかの例では、オプションのディスプレイシステム185は、スマートオーディオデバイスの1つまたは複数のディスプレイを含み得る。他の例では、オプションのディスプレイシステム185は、テレビディスプレイ、ラップトップディスプレイ、モバイルデバイスディスプレイ、または別のタイプのディスプレイを含み得る。装置150がディスプレイシステム185を含むいくつかの例では、センサシステム180は、ディスプレイシステム185の1つまたは複数のディスプレイに近接したタッチセンサシステムおよび/またはジェスチャセンサシステムを含み得る。いくつかのそのような実装形態によれば、制御システム160は、1つまたは複数のグラフィカルユーザインターフェース(GUI)を提示するようにディスプレイシステム185を制御するために構成され得る。
【0051】
いくつかのそのような例によれば、装置150は、スマートオーディオデバイスであり得るか、またはそれを含み得る。いくつかのそのような実装形態では、装置150は、ウェイクワード検出器であり得るか、またはそれを含み得る。例えば、装置150は、仮想アシスタントであり得るか、またはそれを含み得る。
【0052】
図1Bは、オーディオ環境の例を示す。本明細書に提供される他の図と同様に、
図1Bに示される要素のタイプ、数、および配列は、単に例として提供されるものである。他の実装形態は、より多くの、より少ない、および/または異なるタイプおよび数の要素、異なる配置の要素などを含み得る。
【0053】
この例によれば、オーディオ環境100は、オーディオデバイス110A、110B、110C、110Dおよび110Eを含む。オーディオデバイス110A~110Eは、いくつかの例では、
図1Aの装置150のインスタンスであり得る。この例では、各オーディオデバイス110A~110Eは、マイクロホン120A、120B、120C、120Dおよび120Eのうちの少なくともそれぞれ1つと、ラウドスピーカ121A、121B、121C、121Dおよび121Eのうちの少なくともそれぞれ1つを含む。この例では、マイクロホン120A~120Eおよびラウドスピーカ121A~121Eの個々のインスタンスが示されている。しかしながら、オーディオデバイス110A~110Eのうちの1つまたは複数は、複数のマイクロホンを含むマイクロホンシステムおよび/または複数のラウドスピーカを含むラウドスピーカシステムを含み得る。いくつかの例によれば、各オーディオデバイス110A~110Eは、スマートスピーカなどのスマートオーディオデバイスであり得る。
【0054】
いくつかの例では、オーディオデバイス110A~110Eのうちのいくつかまたはすべては、オーケストレーションデバイスからの命令にしたがって(少なくとも部分的に)動作するオーケストレーションされたオーディオデバイスであってもよい。いくつかのそのような例によれば、オーケストレーションデバイスは、オーディオデバイス110A~110Eのうちの1つであり得る。他の例では、オーケストレーションデバイスは、スマートホームハブなどの別のデバイスであり得る。
【0055】
この事例では、人101Aおよび101Bはオーディオ環境内にいる。この例では、音響イベントは、オーディオデバイス110Aの近くで話している話者101Aによって引き起こされる。要素102は、人101Aの音声を表すことを意図している。この例では、音声102は、人101Aによるウェイクワードの発話に対応する。
【0056】
図2は、
図1Bのオーディオデバイスのうちの3つの間のエコー経路を示す。
図1Bを参照して説明されていない
図2の要素は、以下の通りである:
200AA:デバイス110Aからデバイス110Aへの(ラウドスピーカ121Aからマイクロホン120Aへの)エコー経路;
200AB:デバイス110Aからデバイス110Bへの(ラウドスピーカ121Aからマイクロホン120Bへの)エコー経路;
200AC:デバイス110Aからデバイス110Cへの(ラウドスピーカ121Aからマイクロホン120Cへの)エコー経路;
200BA:デバイス110Bからデバイス110Aへの(ラウドスピーカ121Bからマイクロホン120Aへの)エコー経路;
200BB:デバイス110Bからデバイス110Bへの(ラウドスピーカ121Bからマイクロホン120Bへの)エコー経路;
200BC:デバイス110Bからデバイス110Cへの(ラウドスピーカ121Bからマイクロホン120Cへの)エコー経路;
200CA:デバイス110Cからデバイス110Aへの(ラウドスピーカ121Cからマイクロホン120Aへの)エコー経路;
200CB:デバイス110Cからデバイス110Cへの(ラウドスピーカ121Cからマイクロホン120Bへの)エコー経路;
200CC:デバイス110Cからデバイス110Cへの(ラウドスピーカ121Cからマイクロホン120Cへの)エコー経路。
【0057】
これらのエコー経路は、各オーディオデバイスの再生されたオーディオまたは「エコー」が他のオーディオデバイスに及ぼす影響を示す。この影響は、本明細書では、オーディオデバイスの「相互可聴性(mutual audibility)」と呼ばれることがある。相互可聴性は、オーディオ環境内の各オーディオデバイスの位置および向き、各オーディオデバイスの再生レベル、各オーディオデバイスのラウドスピーカ能力などを含む様々な要因に依存する。いくつかの実装形態は、エコー経路200AA~200CCのエネルギーを表す可聴性行列Aなど、オーディオ環境内のオーディオデバイスの相互可聴性のより正確な表現を構築することを含み得る。例えば、可聴性行列の各列は、オーディオデバイスラウドスピーカを表し得、可聴性行列の各行は、オーディオデバイスマイクロホンを表し得、またはその逆も同様である。いくつかのそのような可聴性行列では、可聴性行列の対角線は、オーディオデバイスのラウドスピーカ(複数可)から同じオーディオデバイスのマイクロホン(複数可)へのエコー経路を表し得る。
【0058】
図2から、それぞれオーディオデバイス110Cおよび110Bからオーディオデバイス100Aへのエコー経路である200CAおよび200BAが強い結合を有する場合、オーディオデバイス110Cおよびオーディオデバイス110Bからのエコーは、オーディオデバイス110Aのエコー(残差)において有意になることが分かる。そのような事例では、音声102(この例ではウェイクワードに対応する)を検出したことに対するオーディオシステムの応答が、単に最も近いラウドスピーカの音量を下げることである場合、これは、ラウドスピーカ(複数可)121Aからの再生のみをダッキングすることを含む。これが、ウェイクワードを検出したことに対するオーディオシステムの唯一の応答である場合、潜在的なSER改善は、著しく制限される可能性がある。したがって、いくつかの開示される例は、そのような状況においてウェイクワードを検出したことに対する他の応答を含み得る。
【0059】
図3は、一例によるオーディオデバイスの構成要素を表すシステムブロック図である。
図3において、オーディオデバイス110Aを表すブロックは、ラウドスピーカ121Aおよびマイクロホン120Aを含む。いくつかの例では、ラウドスピーカ121Aは、
図1Aのラウドスピーカシステム175などのラウドスピーカシステム内の複数のラウドスピーカのうちの1つであり得る。同様に、いくつかの実装形態によれば、マイクロホン120Aは、
図1Aのマイクロホンシステム170などのマイクロホンシステム内の複数のマイクロホンのうちの1つであり得る。
【0060】
この例では、オーディオデバイス110Aは、レンダラ201Aと、エコー管理システム(EMS)203Aと、音声プロセッサ/通信ブロック240Aとを含む。この例では、EMS203Aは、音響エコーキャンセラ(AEC)、音響エコーサプレッサ(AES)、もしくはAECとAESの両方であり得るか、またはそれらを含み得る。この例によれば、レンダラ201Aは、ラウドスピーカ121Aでの再生のために、オーディオデバイス110Aによって受信された、またはオーディオデバイス110Aに記憶されたオーディオデータ301をレンダリングするように構成される。いくつかの例では、オーディオデータは、1つまたは複数のオーディオ信号と、関連する空間データとを含み得る。空間データは、例えば、オーディオ信号に対応する意図された知覚空間位置を示し得る。いくつかの例では、空間データは、オーディオオブジェクトに対応する空間メタデータであり得るか、またはそれを含み得る。この例では、レンダラ出力220Aは、再生のためにラウドスピーカ121Aに提供され、レンダラ出力220Aはまた、エコーキャンセレーションのための基準としてEMS203Aに提供される。
【0061】
レンダラ出力220Aを受信することに加えて、この例では、EMS203Aは、マイクロホン120Aからマイクロホン信号223Aも受信する。この例では、EMS203Aは、マイクロホン信号223Aを処理し、エコーキャンセルされた残差224A(本明細書では「残差出力224A」と呼ばれることもある)を音声プロセッサ/通信ブロック240Aに提供する。
【0062】
いくつかの実装形態では、音声プロセッサ/通信ブロック240Aは、音声認識機能のために構成され得る。いくつかの例では、音声プロセッサ/通信ブロック240Aは、電話通話、テレビ会議などの電気通信サービスを提供するように構成され得る。
図3には示されていないが、音声プロセッサ/通信ブロック240Aは、例えばインターフェースシステムを介して、1つまたは複数のネットワーク、ラウドスピーカ121Aおよび/またはマイクロホン120Aと通信するように構成されてもよい。1つまたは複数のネットワークは、例えば、ローカルWi-Fiネットワーク、1つまたは複数のタイプの電話ネットワークなどを含み得る。
【0063】
図4は、一例によるダッキングモジュールの要素を示す。この実装形態では、ダッキングモジュール400は、
図1Aの制御システム160のインスタンスによって実装される。この例では、
図4の要素は以下の通りである:
・ 401:いくつかの例では、ユーザ発話の音響モデルを含む、デバイス間およびデバイス内エコーの音響モデル。いくつかの例によれば、音響モデル401は、オーディオ環境内の各オーディオデバイスからの再生が、オーディオ環境内のすべてのオーディオデバイス(自身および他のもの)のマイクロホンによって検出されたエコーとしてどのように表れるかのモデルであり得るか、またはそれを含み得る。いくつかの例では、音響モデル401は、オーディオ環境インパルス応答推定値、ピーク振幅、減衰時間などのインパルス応答の特性などに少なくとも部分的に基づき得る。いくつかの例では、音響モデル401は、可聴性推定値に少なくとも部分的に基づき得る。いくつかのそのような例では、可聴性推定値はマイクロホン測定値に基づき得る。代替的または追加的に、可聴性推定値は、オーディオデバイス位置によって、例えばエコーパワーがオーディオデバイス間の距離に反比例することに基づいて、推論されてもよい。いくつかの例では、音響モデル401は、AEC/AESフィルタタップの長期推定値に少なくとも部分的に基づき得る。いくつかの例では、音響モデル401は、各オーディオデバイスのラウドスピーカ(複数可)の能力(ラウドネス)に関する情報を含み得るワッフルに少なくとも部分的に基づき得る;
・ 452:オーディオ環境内の複数のオーディオデバイスの各オーディオデバイスの位置に関する情報を含む空間情報。いくつかの例では、空間情報452は、複数のオーディオデバイスの各オーディオデバイスの向きに関する情報を含み得る。いくつかの例によれば、空間情報452は、オーディオ環境内の1人以上の人の位置に関する情報を含み得る。いくつかの事例では、空間情報452は、オーディオ環境の少なくとも一部分のインパルス応答に関する情報を含み得る;
・ 402:
図3のEMS203Aの性能または別のEMS(
図5または
図6のものなど)の性能を示し得る、EMS性能のモデル。この例では、EMS性能モデル402は、EMS(AEC、AES、または両方)がどの程度良好に機能するかを予測する。いくつかの例では、EMS性能モデル402は、現在のオーディオ環境インパルス応答、オーディオ環境の現在のノイズレベル(複数可)、EMSを実装するために使用されているアルゴリズム(複数可)のタイプ、オーディオ環境において再生されているコンテンツのタイプ、EMSアルゴリズム(複数可)に供給されているエコー基準の数、オーディオ環境におけるラウドスピーカの能力/品質(ラウドスピーカにおける非線形性は、予想される性能に対して上限を課すことになる)、またはそれらの組合せを仮定して、EMSがどの程度良好に機能するかを予測し得る。いくつかの例によれば、EMS性能モデル402は、例えば、様々な条件下でEMSがどのように機能するかを観察し、そのような観察に基づいてデータ点を記憶し、これらのデータ点に基づいて(例えば、曲線を適合させることによって)モデルを構築することによって、経験的観察に少なくとも部分的に基づき得る。いくつかの例では、EMS性能モデル402は、EMS性能の経験的観察に基づいてニューラルネットワークをトレーニングすることなどによって、機械学習に少なくとも部分的に基づき得る。代替的または追加的に、EMS性能モデル402は、EMSによって使用されるアルゴリズム(複数可)の理論的分析に少なくとも部分的に基づいてもよい。いくつかの例では、EMS性能モデル402は、EMS性能を評価するための有用なメトリックである、EMSの動作によって引き起こされるERLE(エコーリターンロスエンハンスメント)を示し得る。ERLEは、例えば、各オーディオデバイス間でEMSによって適用される追加の信号損失の量を示し得る;
・ 403:1つまたは複数の現在のリスニング目的に関する情報。いくつかの例では、リスニング目的情報403は、ダッキングモジュールが達成するためのSER目標またはSER改善目標などの目標を設定し得る。いくつかの例によれば、リスニング目的情報403は、空間成分とレベル成分の両方を含み得る;
・ 450:外部トリガ、音響イベント、モード指示など、ターゲットを決定するために使用され得る目標関連要因;
・ 404:リスニング性能の改善(言い換えると、人の発話などのオーディオをキャプチャするための1つまたは複数のマイクロホンの機能の改善)を他のメトリック(オーディオ環境内の人のリスニングエクスペリエンスの劣化など)に対してトレードオフする制約など、ダッキング解を決定するプロセス中に適用されるべき1つまたは複数の制約。例えば、一例では、制約は、ダッキングモジュール400が、オーディオ環境内のいくつかまたはすべてのラウドスピーカについてのラウドスピーカ再生レベルを、0dBFS(decibels relative to full scale)など、許容できないほど低いレベルに低減することを防止し得る;
・ 451:空間性メタデータ、レベルメタデータ、コンテンツタイプメタデータなどを含み得る、現在のオーディオコンテンツについてのメタデータ。そのようなメタデータは、1つまたは複数のラウドスピーカのダッキングがオーディオ環境内の人のリスニングエクスペリエンスに対してもたらすこととなる影響についての情報を(直接または間接的に)提供し得る。例えば、「大きい」オーディオオブジェクトがオーディオ環境の複数のラウドスピーカによって再生されていることを空間性メタデータが示す場合、それらのラウドスピーカのうちの1つをダッキングしても、リスニングエクスペリエンスに対して好ましくない影響を与えない可能性がある。別の例として、コンテンツがポッドキャストであることをコンテンツメタデータが示す場合、いくつかの事例では、ポッドキャストのモノローグまたはダイアログは、オーディオ環境の複数のラウドスピーカによって再生され得るので、それらのラウドスピーカのうちの1つをダッキングしても、リスニングエクスペリエンスに対して好ましくない影響を与えない可能性がある。しかしながら、オーディオコンテンツが映画またはテレビ番組に対応することをコンテンツメタデータが示す場合、そのようなコンテンツのダイアログは、主にまたは完全に特定のラウドスピーカ(「フロント」ラウドスピーカなど)によって再生され得るので、それらのラウドスピーカをダッキングすると、リスニングエクスペリエンスに対して好ましくない影響を与える可能性がある;
・ 405:知覚的に駆動される制約を導出するために使用されるモデル。いくつかの詳細な例は、本明細書の他の箇所に記載されている;
・ 406:特定の実装形態にしたがって変化し得る最適化アルゴリズム。いくつかの例では、最適化アルゴリズム406は、閉形式最適化アルゴリズムであり得るか、またはそれを含み得る。いくつかの事例では、最適化アルゴリズム406は、反復プロセスであり得るか、またはそれを含み得る。いくつかの詳細な例は、本明細書の他の箇所に記載されている;
・ 480:ダッキングモジュール400によって出力されるダッキング解。本明細書の他の箇所でより詳細に(
図5および
図6を参照するなどして)説明されるように、ダッキング解480は、ダッキング解480がレンダラに提供されるかどうか、またはダッキング解480がレンダラから出力されたオーディオデータのために提供されるかどうかを含む、様々な要因にしたがって異なり得る。
【0064】
いくつかの例によれば、AECモデル402および音響モデル401は、例えば、以下で説明するように、SERを推定または予測するための手段を提供し得る。
【0065】
制約(複数可)404および知覚モデル405は、ダッキングモジュール400によって出力されるダッキング解480が縮退でも些細(trivial)でもないことを保証するために使用され得る。些細な解の一例としては、再生レベルをグローバルに0に設定することがある。制約(複数可)404は、知覚的および/または客観的であり得る。いくつかの例によれば、制約(複数可)404は、人間の聴覚のモデルなどの知覚モデルに少なくとも部分的に基づき得る。いくつかの例では、制約(複数可)404は、オーディオコンテンツエネルギー保存、オーディオ空間性保存、オーディオエネルギーベクトル、またはそれらの1つまたは複数の組合せに少なくとも部分的に基づき得る。いくつかの例によれば、制約(複数可)404は、正則化制約であり得るか、またはそれを含み得る。リスニング目的情報403は、例えば、分散ダッキング(言い換えると、オーディオ環境の2つ以上のオーディオデバイスをダッキングすること)によって行われるべき現在の目標SER改善(target SER improvement)を決定し得る。
【0066】
グローバル最適化
いくつかの例では、ダッキングのためのオーディオデバイス(複数可)の選択により、ウェイクワードが検出されたときに取得された推定SERおよび/またはウェイクワード情報が、次の発話をリスンするオーディオデバイスの選択に使用される。このオーディオデバイス選択が間違っている場合、最良のリスニングデバイスがウェイクワードの後に話されるコマンドを理解することができる可能性は非常に低い。これは、自動音声認識(ASR)が、ダッキングの動機要因の1つであるウェイクワード検出(WWD)よりも困難であるためである。最良のリスニングデバイスがダッキングされなかった場合、ASRは、オーディオデバイスのすべてで失敗する可能性が高い。したがって、いくつかのそのような例では、ダッキング方法は、(WWDからの)前の推定値を使用して、最も近い(または最良の推定値の)オーディオデバイス(複数可)をダッキングすることによってASR段階を最適化することを含む。
【0067】
したがって、いくつかのダッキング実装形態は、ダッキング解を決定するときに前の推定値を使用することを含む。しかしながら、
図4に示されるような実装形態では、よりロバストなASR性能を達成するために、リスニング目的および制約を適用することができる。いくつかのそのような例では、ダッキング方法は、SER改善が音響空間内のすべての潜在的なユーザロケーションにおいて有意となるようにダッキングアルゴリズムを構成することを含み得る。このようにして、室内のマイクロホンのうちの少なくとも1つが、ロバストなASR性能に十分なSERを有することを保証することができる。そのような実装形態は、トーカのロケーションが知られていない場合、またはトーカのロケーションに関して不確実性がある場合に有利であり得る。いくつかのそのような例は、1つまたは複数の不確実性を考慮するためにSER改善ゾーンを空間的に広げることによって、トーカおよび/またはオーディオデバイス位置推定値の分散を考慮することを含み得る。
【0068】
いくつかのそのような例は、以下の議論のδパラメータ、または同様のパラメータの使用を含み得る。他の例は、トーカ位置および/またはオーディオデバイス位置推定値における不確実性を記述するか、またはそれに対応するマルチパラメータモデルを含み得る。
【0069】
いくつかの実施形態では、ダッキング方法は、1つまたは複数のユーザゾーンのコンテキストにおいて行われ得る。本文書において後に詳述するように、音響特徴のセット
【数1】
を使用して、環境内のK個の異なるユーザゾーンについてのゾーンラベルZ
k(k={1...K})の何らかのセットの事後確率p(Z
k|W(j))を推定し得る。各ユーザゾーンへの各オーディオデバイスの関連付けは、本文書内で説明されるトレーニングプロセスの一部としてユーザ自身によって、または代替的に、アプリケーション、例えば、AlexaスマートフォンアプリまたはSonos S2コントローラスマートフォンアプリを通して提供され得る。例えば、いくつかの実装形態は、ゾーンラベルZ
kを有するユーザゾーンへのj番目のデバイスの関連付けを、z(Z
k,n)∈[0,1]と示し得る。いくつかの実施形態では、z(Z
k,n)および事後確率p(Z
k|W(j))は両方ともコンテキスト情報とみなされ得る。いくつかの実施形態は、代わりに、音響特徴W(j)自体をコンテキストの一部とみなし得る。他の実施形態では、これらの量(z(Z
k,n)、事後確率p(Z
k|W(j))、および音響特徴W(j)自体)のうちの2つ以上、および/またはこれらの量の組合せがコンテキスト情報の一部であってもよい。
【0070】
いくつかの例では、ダッキング方法は、ダッキングまたは他のオーディオ処理変更のためにオーディオデバイスを選択するプロセスにおいて、1つまたは複数のユーザゾーンに関する量を使用し得る。zおよびpの両方が利用可能である場合、例示的なオーディオデバイス選択決定は、以下の式にしたがって行われ得る:
【数2】
いくつかのそのような実施形態によると、ユーザ(トーカ)を含む可能性が最も高いユーザゾーンとの関連付けが最も高いオーディオデバイスには、最も多くのオーディオ処理(例えば、レンダリング)変更が適用されることとなる。いくつかの例では、δは[0.5,4.0]の範囲内の正の数であり得る。いくつかのそのような例によれば、δは、レンダリング変更の範囲を空間的に制御するために使用され得る。そのような実装形態では、δが0.5になるように選択された場合、より多くのデバイスがより大きいレンダリング変更を受けることになるが、4.0の値では、レンダリング変更が、最も可能性が高いユーザゾーンに最も近接したデバイスのみに制限されることになる。
【0071】
いくつかの実装形態では、音響特徴W(j)はダッキング方法において直接使用され得る。例えば、発話jに関連付けられたウェイクワード信頼度スコアがw
n(j)である場合、オーディオデバイス選択は、以下の式にしたがって行われ得る:
【数3】
上記の式において、δは、前の例と同じ解釈を有し、さらに、特定のウェイクワードシステムに対して生じる可能性のあるウェイクワード信頼度の典型的な分布を補償する有用性を有する。ほとんどのオーディオデバイスが高いウェイクワード信頼度を報告する傾向がある場合、δは、レンダリング変更アプリケーションの空間特異性を高めるために、3.0などの比較的高い数値になるように選択され得る。トーカがデバイスから離れるほどウェイクワード信頼度が急速に低下する傾向がある場合、δは、レンダリング変更アプリケーションにより多くのデバイスを含めるために、1.0またはさらには0.5などの比較的低い数値になるように選択され得る。読者は、いくつかの代替実装形態では、デバイスのマイクロホンにおける音声レベルの推定値、および/またはユーザの発話の直接対残響比などの音響特徴について上記の式と同様の式がウェイクワード信頼度の代わりに使用されてもよいことを理解するであろう。
【0072】
図5は、ダッキングモジュールを含むオーディオデバイスの例を示すブロック図である。レンダラ201A、音声プロセッサ/通信ブロック240A、EMS203A、ラウドスピーカ(複数可)121A、およびマイクロホン(複数可)120Aは、以下に記載されることを除いて、実質的に
図3を参照して説明されるように機能し得る。この例では、レンダラ201A、音声プロセッサ/通信ブロック240A、EMS203A、およびダッキングモジュール400は、
図1Aを参照して説明される制御システム160のインスタンスによって実装される。ダッキングモジュール400は、例えば、
図4を参照して説明されるダッキングモジュール400のインスタンスであり得る。したがって、ダッキングモジュール400は、少なくともオーディオデバイス110Aのためのレンダリングされたオーディオデータ(ラウドスピーカフィード信号にレンダリングされたオーディオデータなど)に適用すべき(ダッキング解480によって示されるか、またはそれに対応する)1つまたは複数のタイプのオーディオ処理変更を決定するように構成され得る。オーディオ処理変更は、オーディオ環境内の1つまたは複数のラウドスピーカのラウドスピーカ再生レベルの低減であり得るか、またはそれを含み得る。いくつかの例では、ダッキングモジュール400は、オーディオ環境内の2つ以上のオーディオデバイスのためのレンダリングされたオーディオデータに適用すべき1つまたは複数のタイプのオーディオ処理変更を決定するように構成され得る。
【0073】
この例では、レンダラ出力220Aおよびダッキング解480は、利得乗算器501に提供される。いくつかの例では、ダッキング解480は、処理されたオーディオデータ502を生成するために、レンダラ出力220Aに適用すべき利得乗算器501のための利得を含む。この例によれば、処理されたオーディオデータ502は、エコーキャンセレーションのためのローカル基準としてEMS203Aに提供される。ここで、処理されたオーディオデータ502は、再生のためにラウドスピーカ(複数可)121Aにも提供される。
【0074】
いくつかの例では、ダッキングモジュール400は、
図8を参照して以下で説明されるように、ダッキング解480を決定するように構成され得る。いくつかの例によれば、ダッキングモジュール400は、以下の「特定のデバイスのための最適化」セクションで説明されるように、ダッキング解480を決定するように構成され得る。
【0075】
図6は、ダッキングモジュールを含むオーディオデバイスの代替例を示すブロック図である。レンダラ201A、音声プロセッサ/通信ブロック240A、EMS203A、ラウドスピーカ(複数可)121A、およびマイクロホン(複数可)120Aは、以下に記載されることを除いて、実質的に
図3を参照して説明されるように機能し得る。ダッキングモジュール400は、例えば、
図4を参照して説明されるダッキングモジュール400のインスタンスであり得る。この例では、レンダラ201A、音声プロセッサ/通信ブロック240A、EMS203A、およびダッキングモジュール400は、
図1Aを参照して説明される制御システム160のインスタンスによって実装される。
【0076】
この例によれば、ダッキングモジュール400は、ダッキング解480をレンダラ201Aに提供するように構成される。いくつかのそのような例では、ダッキング解480は、レンダラ201Aに、受信されたオーディオデータ301をレンダリングするプロセス中に(またはオーディオデバイス110Aのメモリに記憶されているオーディオデータをレンダリングするプロセス中に)ラウドスピーカ再生レベルの低減を含み得る1つまたは複数のタイプのオーディオ処理変更を実装させ得る。いくつかの例では、ダッキングモジュール400は、オーディオ環境内の1つまたは複数の他のオーディオデバイスにおけるレンダラ201Aの1つまたは複数のインスタンスを介して、1つまたは複数のタイプのオーディオ処理変更の実装のためのダッキング解480を決定するように構成され得る。
【0077】
この例では、レンダラ出力201Aは、処理されたオーディオデータ502を出力する。この例によれば、処理されたオーディオデータ502は、エコーキャンセレーションのためのローカル基準としてEMS203Aに提供される。ここで、処理されたオーディオデータ502は、再生のためにラウドスピーカ(複数可)121Aにも提供される。
【0078】
いくつかの例では、ダッキング解480は、例えば以下で説明するように、フレキシブルレンダリングアルゴリズムによって実装される1つまたは複数のペナルティを含み得る。いくつかのそのような例では、ペナルティは、所望のSER改善を引き起こすと推定されるラウドスピーカペナルティであり得る。いくつかの例によれば、1つまたは複数のタイプのオーディオ処理変更を決定することは、ダッキングモジュール400による、またはレンダラ201Aによるコスト関数の最適化に基づき得る。
【0079】
図7は、ダッキング解を決定するための方法の一例を概説するフロー図である。いくつかの例では、方法720は、
図1A、
図5、または
図6に示されるような装置によって実行され得る。いくつかの例では、方法720は、オーケストレーションデバイスの制御システムによって実行され得、オーケストレーションデバイスは、いくつかの事例では、オーディオデバイスであり得る。いくつかの例では、方法720は、少なくとも部分的に、
図4、
図5、または
図6のダッキングモジュール400などのダッキングモジュールによって実行され得る。いくつかの例によれば、方法720は、レンダラによって少なくとも部分的に実行され得る。方法720のブロックは、本明細書で説明される他の方法と同様に、必ずしも示された順序で実行されるとは限らない。さらに、そのような方法は、図示および/または説明されるよりも多いまたは少ないブロックを含み得る。
【0080】
この例では、プロセスはブロック725から開始する。いくつかの事例では、ブロック725は、ブートアッププロセス、またはブートアッププロセスが完了し、方法720を実行するように構成されたデバイスが機能する準備ができている時間に対応し得る。
【0081】
この例によれば、ブロック730は、ウェイクワードが検出されるのを待つことを含む。方法720がオーディオデバイスによって実行されている場合、ブロック730はまた、音楽コンテンツ、ポッドキャスト、映画またはテレビ番組のためのオーディオサウンドトラックなど、受信または記憶されたオーディオコンテンツに対応するレンダリングされたオーディオデータを再生することを含み得る。
【0082】
この例では、(例えば、ブロック730において)ウェイクワードを検出すると、ブロック735において、ウェイクワードのSERが推定される。S(a)は、デバイスaにおける音声対エコー比の推定値である。定義によれば、dB単位の音声対エコー比は、次式によって与えられる:
【数4】
【0083】
上記の式において、
【数5】
は、音声エネルギーの推定値をdB単位で表し、
【数6】
は、エコーキャンセレーション後の残留エコーエネルギーの推定値をdB単位で表す。これらの量を推定するための様々な方法が本明細書に開示されており、例えば、以下である:
(1)音声エネルギーおよび残留エコーエネルギーは、デバイスのマイクロホンとスピーカとの間の音響結合と、オンボードエコーキャンセレーション回路の性能とを考慮して、特定のデバイスについて実行されるオフライン測定プロセスによって推定され得る。いくつかのそのような例では、平均音声エネルギーレベル「AvgSpeech」は、公称距離においてデバイスによって測定された人の音声の平均レベルによって決定され得る。例えば、マイクロホン搭載デバイスから1m離れて立っている少数の人からの音声が、制作中にデバイスによって記録され得、このエネルギーを平均化してAvgSpeechを生成し得る。いくつかのそのような例によれば、平均残留エコーエネルギーレベル「AvgEcho」は、制作中にデバイスから音楽コンテンツを再生し、オンボードエコーキャンセレーション回路を実行してエコー残差信号を生成することによって推定され得る。音楽コンテンツの小さいサンプルについてエコー残差信号のエネルギーを平均化することは、AvgEchoを推定するために使用され得る。デバイスがオーディオを再生していないとき、AvgEchoは、代わりに、-96.0dBなどの公称低値に設定され得る。いくつかのそのような実装形態では、音声エネルギーおよび残留エコーエネルギーは、次のように表され得る:
【数7】
(2)いくつかの例によれば、平均音声エネルギーは、音声アクティビティ検出器(VAD)によって決定されたユーザの発話に対応するマイクロホン信号のエネルギーを取ることによって決定され得る。いくつかのそのような例では、平均残留エコーエネルギーは、VADが音声を示していないときのマイクロホン信号のエネルギーによって推定され得る。xが、あるサンプリングレートにおけるデバイスaのマイクロホンのパルスコード変調(PCM)サンプルを表し、Vが、ボイスアクティビティに対応するサンプルについて値1.0をとり、他の場合には0.0をとるVADフラグを表す場合、音声エネルギーおよび残留エコーエネルギーは、次のように表され得る:
【数8】
(3)以上の方法に加えて、いくつかの実装形態では、マイクロホンにおけるエネルギーは、確率変数として扱われ、VAD決定に基づいて別個にモデル化され得る。音声エネルギーおよびエコーエネルギーの統計モデルSpおよびEはそれぞれ、任意の数の統計モデリング技法を使用して推定することができる。次に、S(a)を近似するための音声およびエコーの両方についてのdB単位の平均値を、それぞれSpおよびEから求め得る。これを達成する一般的な方法は、統計的信号処理の分野に見られ、例えば、以下である:
・ エネルギーのガウス分布を仮定し、バイアスされた二次統計量
【数9】
を計算すること。
・ 混合モデル(例えば、ガウス混合モデル)の期待値最大化(EM)パラメータ推定のステップを適用した後に、混合物内の部分分布のいずれかに属する最大平均値
【数10】
が使用され得る、潜在的にマルチモーダルな分布を得るために、エネルギー値の離散的にビニングされたヒストグラムを構築すること。
【0084】
この例によれば、ブロック740は、(この事例ではブロック745から)目標SERを取得することと、目標SER改善を計算することとを含む。いくつかの実装形態では、所望のSER改善(SERI)は、次のように決定され得る:
【数11】
【0085】
上記の式では、mは、SERが改善されているデバイス/マイクロホンロケーションを表し、TargetSERは、いくつかの例では、使用中のアプリケーションにしたがって設定され得るしきい値を表す。例えば、ウェイクワード検出アルゴリズムは、コマンド検出アルゴリズムよりも低い動作SERを許容し得、コマンド検出アルゴリズムは、大語彙音声認識器よりも低い動作SERを許容し得る。TargetSERの典型的な値は、-6dBから12dBのオーダーである。いくつかの事例では、S(m)が知られていないかまたは推定が容易でない場合、典型的なエコーの(echoic)部屋または設定において記録された音声およびエコーのオフライン測定値に基づくプリセット値で十分であり得る。いくつかの実施形態は、0から1の範囲のf_nを指定することによって、オーディオ処理(例えば、レンダリング)が修正されるべきオーディオデバイスを決定し得る。他の実施形態は、潜在的に以下にしたがって計算される、音声対エコー比改善デシベルs
n(本明細書ではs_nとも表される)の単位でオーディオ処理(例えば、レンダリング)が修正されるべき程度を指定することを含み得る:
【数12】
【0086】
いくつかの実施形態は、例えば以下のように、デバイスジオメトリから直接f_nを計算し得る:
【数13】
【0087】
上記の式において、mは、最大のオーディオ処理(例えば、レンダリング)修正のために選択されることとなるデバイスのインデックスを表し、H(m,i)は、デバイスmとデバイスiとの間のおおよその物理的距離を表す。他の実装形態は、デバイスジオメトリにわたって緩和または平滑化関数の他の選択を含み得る。
【0088】
したがって、Hは、オーディオ環境内のオーディオデバイスの物理的ロケーションのプロパティである。Hは、特定の実装形態に応じて、様々な方法にしたがって決定または推定され得る。オーディオ環境内のオーディオデバイスのロケーションを推定するための方法の様々な例が以下に説明される。
【0089】
この例では、ブロック750は、本明細書では「ダッキング解(ducking solution)」と呼ばれることがあるものを計算することを含む。ダッキング解は、オーディオ環境内の1つまたは複数のラウドスピーカのラウドスピーカ再生レベルの低減を決定することを含み得るが、ダッキング解はまた、本明細書で開示するものなど、1つまたは複数の他のオーディオ処理変更を含み得る。ブロック750において決定されるダッキング解は、
図4、
図5および
図6のダッキング解480の一例である。したがって、ブロック750は、ダッキングモジュール400によって実行され得る。
【0090】
この例によれば、ブロック750において決定されるダッキング解は、目標SER、ダッキング制約(ブロック755によって表される)、AECモデル(ブロック765によって表される)、および音響モデル(ブロック760によって表される)に(少なくとも部分的に)基づく。音響モデルは、
図4の音響モデル401のインスタンスであり得る。音響モデルは、例えば、本明細書ではデバイス間エコーまたは相互可聴性と呼ばれることもある、デバイス間可聴性に少なくとも部分的に基づき得る。音響モデルは、いくつかの例では、デバイス内エコーに少なくとも部分的に基づき得る。いくつかの事例では、音響モデルは、典型的な人間の発話の音響特性、オーディオ環境において以前に検出された人間の発話の音響特性など、ユーザの発話の音響モデルに少なくとも部分的に基づき得る。AECモデルは、いくつかの例では、
図4のAECモデル402のインスタンスであり得る。AECモデルは、
図5または
図6のEMS203Aの性能を示し得る。いくつかの例では、EMS性能モデル402は、AECの動作によって引き起こされる実際のまたは予想されるERLE(エコーリターンロスエンハンスメント)を示し得る。ERLEは、例えば、各オーディオデバイス間でAECによって適用される追加の信号損失の量を示し得る。いくつかの例によれば、EMS性能モデル402は、所与の数のエコー基準についての予想されるERLEに少なくとも部分的に基づき得る。いくつかの例では、EMS性能モデル402は、実際のマイクロホンおよび残差信号から計算された推定ERLEに少なくとも部分的に基づき得る。
【0091】
いくつかの例では、ブロック750において決定されるダッキング解は、反復解であり得るが、他の例では、ダッキング解は、閉形式解であってもよい。反復解および閉形式解の両方の例が本明細書で開示される。
【0092】
この例では、ブロック770は、ブロック750において決定されたダッキング解を適用することを含む。いくつかの例では、
図5に示されるように、ダッキング解は、レンダリングされたオーディオデータに適用され得る。他の例では、
図6に示されるように、ブロック750において決定されたダッキング解は、レンダラに提供され得る。ダッキング解は、レンダラに入力されるオーディオデータをレンダリングするプロセスの一部として適用され得る。
【0093】
この例では、ブロック775は、いくつかの例では、ウェイクワードの後に発せられるコマンドであり得る別の発話を検出することを含む。この例によれば、ブロック780は、ブロック775において検出された発話のSERを推定することを含む。この例では、ブロック785は、ブロック780において推定されたSERに少なくとも部分的に基づいて、AECモデルおよび音響モデルを更新することを含む。この例によれば、ブロック785のプロセスは、ダッキング解が適用された後に行われる。完全なシステムでは、実際のSER改善および実際のSERは、まさに目標とされたものになるであろう。現実世界のシステムでは、実際のSER改善および実際のSERは、目標とされたものとは異なる可能性が高い。そのような実装形態では、方法720は、ダッキング解を計算するために使用された情報および/またはモデルを更新するために少なくともSERを使用することを含む。この例によれば、ダッキング解は、ブロック760の音響モデルに少なくとも部分的に基づく。例えば、ブロック760の音響モデルは、オーディオデバイスXとマイクロホンYとの間の非常に強い音響結合を示した可能性があり、その結果としてダッキング解は、マイクロホンYからの信号を大幅にダッキングすることを含んだ可能性がある。しかしながら、ダッキング解が適用されていた間にブロック775において検出された発話のSERを推定した後、制御システムは、実際のSERおよび/またはSERIが予想されたものではなかったと決定した可能性がある。そうである場合、ブロック785は、それに応じて(この例では、オーディオデバイスXとマイクロホンYとの間の音響結合推定値を低減することによって)音響モデルを更新することを含み得る。この例によれば、プロセスは次にブロック730に戻る。
【0094】
図8は、ダッキング解を決定するための方法の別の例を概説するフロー図である。いくつかの例では、方法800は、
図1A、
図5、または
図6に示されるような装置によって実行され得る。いくつかの例では、方法800は、オーケストレーションデバイスの制御システムによって実行され得、オーケストレーションデバイスは、いくつかの事例では、オーディオデバイスであり得る。いくつかの例では、方法800は、少なくとも部分的に、
図4、
図5、または
図6のダッキングモジュール400などのダッキングモジュールによって実行され得る。いくつかの例によれば、方法800は、レンダラによって少なくとも部分的に実行され得る。方法800のブロックは、本明細書で説明される他の方法と同様に、必ずしも示された順序で実行されるとは限らない。さらに、そのような方法は、図示および/または説明されるよりも多いまたは少ないブロックを含み得る。
【0095】
この例では、プロセスはブロック805から開始する。いくつかの事例では、ブロック805は、ブートアッププロセス、またはブートアッププロセスが完了し、方法800を実行するように構成されたデバイスが機能する準備ができている時間に対応し得る。
【0096】
この例によれば、ブロック810は、ダッキング解の適用のない現在のエコーレベルを推定することを含む。この例では、ブロック810は、(ブロック815によって表される)音響モデルと(ブロック820によって表される)AECモデルとに(少なくとも部分的に)基づいて現在のエコーレベルを推定することを含む。ブロック810は、現在のダッキング候補解から生じる現在のエコーレベルを推定することを含み得る。推定された現在のエコーレベルは、いくつかの例では、現在の音声レベルと組み合わせられ、現在の推定SER改善を生成し得る。
【0097】
音響モデルは、
図4の音響モデル401のインスタンスであり得る。音響モデルは、例えば、本明細書ではデバイス間エコーまたは相互可聴性と呼ばれることもある、デバイス間可聴性に少なくとも部分的に基づき得る。音響モデルは、いくつかの例では、デバイス内エコーに少なくとも部分的に基づき得る。いくつかの事例では、音響モデルは、典型的な人間の発話の音響特性、オーディオ環境において以前に検出された人間の発話の音響特性など、ユーザの発話の音響モデルに少なくとも部分的に基づき得る。
【0098】
AECモデルは、いくつかの例では、
図4のAECモデル402のインスタンスであり得る。AECモデルは、
図5または
図6のEMS203Aの性能を示し得る。いくつかの例では、EMS性能モデル402は、AECの動作によって引き起こされる実際のまたは予想されるERLE(エコーリターンロスエンハンスメント)を示し得る。ERLEは、例えば、各オーディオデバイス間でAECによって適用される追加の信号損失の量を示し得る。いくつかの例によれば、EMS性能モデル402は、所与の数のエコー基準についての予想されるERLEに少なくとも部分的に基づき得る。いくつかの例では、EMS性能モデル402は、実際のマイクロホンおよび残差信号から計算された推定ERLEに少なくとも部分的に基づき得る。
【0099】
この例によれば、ブロック825は、(ブロック850によって表される)現在のダッキング解を取得することと、現在のダッキング解を適用することに基づいてSERを推定することとを含む。いくつかの例では、ダッキング解は、
図7のブロック750を参照しながら説明されたように決定され得る。
【0100】
この例では、ブロック830は、SER改善の現在の推定値と目標SER改善(ブロック835によって表される)との間の差または「誤差」を計算することを含む。いくつかの代替例では、ブロック830は、SERの現在の推定値と目標SERとの間の差を計算することを含み得る。
【0101】
ブロック840は、この例では、ブロック830において計算された差または「誤差」が十分に小さいかどうかを決定することを含む。例えば、ブロック840は、ブロック830において計算された差がしきい値以下であるかどうかを決定することを含み得る。しきい値は、いくつかの例では、0.1dB、0.2dB、0.3dB、0.4dB、0.5dB、0.6dB、0.7dB、0.8dB、0.9dBまたは1.0dBなど、0.1dB~1.0dBの範囲内であり得る。そのような例では、ブロック840において、ブロック830において計算された差がしきい値以下であると決定された場合、プロセスはブロック845において終了する。現在のダッキング解は、出力および/または適用され得る。
【0102】
しかしながら、ブロック840において、ブロック830において計算された差が十分に小さくない(例えば、しきい値に等しくないか、またはしきい値よりも小さい)と決定された場合、この例では、プロセスはブロック855に進む。この例によれば、ダッキング解は、ダッキングベクトルであるか、またはそれを含む。この例では、ブロック855は、ダッキングベクトルに関するコスト関数および制約関数の勾配を計算することを含む。コスト関数は、例えば、ブロック830において決定されるような、推定SER改善と目標SER改善との間の誤差に対応し(またはそれを記述し)得る。
【0103】
いくつかの実装形態では、制約関数は、1つまたは複数の目的関数(例えば、オーディオエネルギー保存関数)、1つまたは複数の主観的関数(1つまたは複数の知覚ベースの関数など)、またはそれらの組合せに対するダッキングベクトルの影響にペナルティを科すことができる。いくつかのそのような例では、制約のうちの1つまたは複数は、人間の聴覚の知覚モデルに基づき得る。いくつかの例によれば、制約のうちの1つまたは複数は、オーディオ空間性保存に基づき得る。
【0104】
いくつかの例では、ブロック855は、環境内のラウドスピーカのセット上で再生されるときに再生されるオーディオ信号の知覚空間位置のモデルと、ラウドスピーカのセットの各ラウドスピーカの位置に対するオーディオ信号の意図された知覚空間位置の近接度の測度との関数であるコストを最適化することを含み得る。いくつかのそのような例では、コストは、1つまたは複数の追加の動的に構成可能な機能の関数であり得る。いくつかのそのような例では、1つまたは複数の追加の動的に構成可能な機能のうちの少なくとも1つはエコーキャンセラ性能に対応する。いくつかのそのような例によれば、1つまたは複数の追加の動的に構成可能な機能のうちの少なくとも1つは、オーディオ環境内のラウドスピーカの相互可聴性に対応する。詳細な例を以下に提供する。しかしながら、他の実装形態は、これらのタイプのコスト関数を含まないことがある。
【0105】
この例によれば、ブロック865は、勾配と、以下のアルゴリズム、確率的勾配降下、または別の知られているオプティマイザなどの1つまたは複数のタイプのオプティマイザとを使用して、現在のダッキング解を更新することを含む。
【0106】
この例では、ブロック870は、前のダッキング解からのダッキング解の変化を評価することを含む。この例によれば、ブロック870において、前の解からのダッキング解の変化がしきい値未満であると決定された場合、プロセスはブロック875において終了する。いくつかの例によれば、しきい値はデシベル単位で表され得る。いくつかのそのような例によれば、しきい値は、0.1dB、0.2dB、0.3dB、0.4dB、0.5dB、0.6dB、0.7dB、0.8dB、0.9dBまたは1.0dBなど、0.1dB~1.0dBの範囲内であり得る。いくつかの例では、ブロック870において、前の解からのダッキング解の変化がしきい値以下であると決定された場合、プロセスは終了する。
【0107】
しかしながら、この例では、ブロック870において、前の解からのダッキング解の変化がしきい値以上であると決定された場合、ブロック850のダッキング解は、現在のダッキング解になるように更新され、プロセスはブロック825に戻る。いくつかの例では、方法800は、ブロック845またはブロック875に到達するまで続き得る。いくつかの例によれば、方法800は、ある時間間隔内にまたはいくつかの反復内にブロック845またはブロック875が到達しない場合、終了し得る。
【0108】
方法800が終了した後、結果として得られたダッキング解が適用され得る。いくつかの例では、
図5に示すように、ダッキング解は、レンダリングされたオーディオデータに適用され得る。他の例では、
図6に示すように、方法800を介して決定されたダッキング解は、レンダラに提供され得る。ダッキング解は、レンダラに入力されるオーディオデータをレンダリングするプロセスの一部として適用され得る。しかしながら、本明細書の他の箇所で述べたように、いくつかの実装形態では、方法800は、レンダラによって少なくとも部分的に実行され得る。いくつかのそのような実装形態によれば、レンダラは、ダッキング解を決定することと適用することの両方を行い得る。
【0109】
以下のアルゴリズムはダッキング解を得る一例である。いくつかの例では、ダッキング解は、レンダリングされたオーディオデータに適用されるべき利得であるか、それを含むか、またはそれを示し得る。したがって、いくつかのそのような例では、ダッキング解は、
図5に示されるように、ダッキングモジュール400に適切であり得る。
【0110】
以下の記号は、次に示すように定義される:
・ Aは相互可聴性行列(各オーディオデバイス間の可聴性)を表す;
・ Pは、(オーディオデバイスにわたる)公称(ダッキングされていない)再生レベルベクトルを表す;
・ Dは、ダッキングモジュール400によって出力されるダッキング解480に対応し得る、(デバイスにわたる)ダッキング解ベクトルを表す;
・ Cは、この例では、各オーディオデバイス間のAECによって適用される追加の信号損失の量であるERLE(エコーリターンロスエンハンスメント)を示す、AEC性能行列を表す。
【0111】
オーディオデバイスiのマイクロホンフィードにおける正味のエコーは、次のように表され得る:
【数14】
【0112】
式1において、Jは、室内のオーディオデバイスの数を表し、A
j
iは、オーディオデバイスiに対するオーディオデバイスjの可聴性を表し、P
jは、オーディオデバイスjの再生レベルを表す。次いで、オーディオデバイスのいずれかをダッキングした場合の影響を考慮と、マイクロホンフィード内のエコーは、次のように表され得る:
【数15】
【0113】
式2において、D
jはダッキング利得を表す。公称ERLEが各スピーカレンダリングに独立して適用される、AECの単純な(naive)モデルも考慮すると、場合、残差中のエコーパワーを次のように表すことができる:
【数16】
【0114】
式3において、Cj
iは、オーディオデバイスjからのエコーをキャンセルするオーディオデバイスiの能力を表す。いくつかの例では、AECがキャンセレーションのためのその基準を含むか含まないかのいずれかにより、Cj
iは-20dBまたは0dBのいずれかであると仮定される。
【0115】
Cを生成することは、特定のデバイスがC行列中のその特定の非ローカル(「遠方」)デバイスエントリに対してキャンセレーションを実行している場合、エントリを公称キャンセレーション性能値になるように設定することと同じくらい些細なことであり得る。より複雑なモデルは、オーディオ環境適応ノイズ(適応フィルタプロセスにおける任意のノイズ)およびチャネル間相関を考慮し得る。例えば、そのようなモデルは、所与のダッキング解が適用された場合にAECが将来どのように機能するかを予測し得る。いくつかのそのようなモデルは、オーディオ環境のエコーレベルおよびノイズレベルに少なくとも部分的に基づき得る。
【0116】
この例では、分散ダッキング問題は、ダッキングベクトルを変化させることによってAEC残差中の総エコーパワーを最小化することを含む最適化問題として定式化され、これは、次のように表され得る:
【数17】
制約されていないと、式4の定式化は、各オーディオデバイスを0dBFSにダッキングするように駆動することになる。したがって、いくつかの例は、リスニングエクスペリエンスに対する悪影響に対してSERの改善をトレードオフする制約を導入する。いくつかのそのような例は、共分散を変更することなくラウドスピーカレンダリングの大きさを考慮に入れる。この制約付き問題は、次のように書くことができる。
【数18】
式5において、λは、SERの改善に対してリスナのエクスペリエンスを重み付けするラグランジュ乗数を表し、A
Lは、リスナの位置における各デバイスの可聴性を表し、g()は、1つの可能な制約関数を表す。ダッキング解を決定するプロセスでは、様々な制約関数が使用され得る。別の制約関数は、以下のように表すことができる:
【数19】
これは、次の単純な勾配を与える:
【数20】
【0117】
反復ダッキング解
一例では、分散ダッキング最適化問題に対する勾配ベースの反復解は、以下の形式をとり得る:
【数21】
【0118】
式8において、Fは、分散ダッキング問題を記述するコスト関数を表し、D
nは、n回目の反復におけるダッキングベクトルを表す。この形式では、D(x)∈[0,1]に制約される。しかしながら、式8に正則化項を追加しても、いくつかのヒューリスティックおよび/またはハード制約を追加しない限りD(x)∈[0,1]となることは保証されない。別の手法は、次のように勾配ベースの反復ダッキング解を公式化することを含む。
【数22】
【0119】
いくつかの例では、Z∈[0,1]である。しかしながら、レンダリングされているオーディオコンテンツの知覚品質も(少なくともある程度)維持しながら、オーディオデバイスiのマイクロホンフィードにおけるエコーパワーを低減することによってオーディオデバイスiにおけるSERを改善することを望む場合、D≧0およびZ≧0を保証すれば十分であることが分かり得る。これは、レンダリングされたコンテンツの品質を少なくともある程度維持するために、いくつかのオーディオデバイスがそれらのフルバンドの音量を上げることを可能にすることを意味する。したがって、いくつかの例では、Zは、次のように定義され得る:
【数23】
【0120】
式10において、Fは、分散ダッキング問題を記述するコスト関数を表し、Rは、レンダリングされたオーディオコンテンツの品質を維持することを目的とする正則化項である。いくつかの例では、Rはエネルギー保存制約であり得る。正則化項Rにより、Dについての賢明な解を見つけることもできる。
【0121】
Tが、オーディオ環境においてオーディオデバイスをダッキングすることによるオーディオデバイスiにおける目標SER改善であると考える場合、Fを次のように定義することができる:
【数24】
【0122】
式11において、E
res,i
nは、式3を使用して評価されたn番目の反復におけるデバイスiの残差中のエコーを表し、E
res,i
0は、Dがすべて1であるときのデバイスiの残差中のエコーを表す。しかしながら、式11に示すようにFを定義すると、ステップサイズはTだけでなく誤差の関数になる。いくつかの例では、Fは、目標SERへの依存を除去するために、次のように再公式化され得る。
【数25】
【0123】
ダッキングベクトルの各要素を、各要素に対するEの感度に比例して調整することは潜在的に有利である。さらに、ユーザがステップサイズをある程度制御できるようにすることは、潜在的に有利である。これらの目標を念頭に置いて、いくつかの例では、Fは次のように再公式化され得る:
【数26】
【0124】
式13において、Mは、オーディオデバイスiの残差におけるエコーへの各デバイスの個々の寄与をスケーリングする。いくつかの例では、Mは、次のように表され得る:
【数27】
【0125】
式14において、
【数28】
はアダマール積を表す。いくつかの例によれば、式14の平方根によるスケーリングにより、許容可能な(またはさらに改善された)結果が得られ得る。いくつかの例では、正則化項Rは、次のように表され得る:
【数29】
【0126】
式15において、λはラグランジュ乗数を表す。式15により、制御システムは、Dに対する簡潔な解を見つけることができる。しかしながら、いくつかの例では、正則化項Rを次のように定義することによって、許容可能なリスニングエクスペリエンスを維持し、オーディオ環境における総エネルギーを保存するダッキング解が決定され得る:
【数30】
【0127】
ダッキングソルバーアルゴリズム
前述の議論を念頭に置けば、以下のダッキングソルバーアルゴリズムが容易に理解され得る。以下のアルゴリズムは、
図8の方法800の一例である。
【数31】
【0128】
いくつかのそのような例によれば、THRESH(しきい値)は、6dB、8dB、10dB、12dB、14dBなどであり得る。
【0129】
図9は、開示される方法の例を概説するフロー図である。いくつかの例では、方法900は、
図1A、
図5、または
図6に示されるような装置によって実行され得る。いくつかの例では、方法900は、オーケストレーションデバイスの制御システムによって実行され得、オーケストレーションデバイスは、いくつかの事例では、オーディオデバイスであり得る。いくつかの例では、方法900は、少なくとも部分的に、
図4、
図5、または
図6のダッキングモジュール400などのダッキングモジュールによって実行され得る。いくつかの例によれば、方法900は、レンダラによって少なくとも部分的に実行され得る。方法900のブロックは、本明細書で説明される他の方法と同様に、必ずしも示された順序で実行されるとは限らない。さらに、そのような方法は、図示および/または説明されるよりも多いまたは少ないブロックを含み得る。
【0130】
この例では、ブロック905は、制御システムによって、オーディオ環境内の1つまたは複数のマイクロホンから出力信号を受信することを含む。ここで、出力信号は、人の現在の発話に対応する信号を含む。いくつかの事例では、現在の発話は、ウェイクワード発話であり得るか、またはそれを含み得る。
【0131】
この例によれば、ブロック910は、制御システムによって、出力信号に応答して、オーディオデバイスロケーション情報およびエコー管理システム情報に少なくとも部分的に基づいて、オーディオ環境内の2つ以上のオーディオデバイスのためのラウドスピーカフィード信号にレンダリングされているオーディオデータに適用すべき1つまたは複数のオーディオ処理変更を決定することを含む。この例では、オーディオ処理変更は、オーディオ環境内の1つまたは複数のラウドスピーカのラウドスピーカ再生レベルの低減を含む。したがって、オーディオ処理変更は、本明細書でダッキング解と呼ばれるものを含み得るか、またはそれによって示され得る。いくつかの例によれば、1つまたは複数のタイプのオーディオ処理変更のうちの少なくとも1つは、信号対エコー比の増加に対応し得る。
【0132】
しかしながら、いくつかの例では、オーディオ処理変更は、ラウドスピーカ再生レベルの低減以外の変更を含む(include)か、または伴い(involve)得る。例えば、オーディオ処理変更は、本明細書では「スペクトル修正」または「スペクトル整形」と呼ばれることもある、1つまたは複数のラウドスピーカの出力のスペクトルを整形することを含み得る。いくつかのそのような例は、検出することを望むオーディオのスペクトルとは異なる出力を生成するように設計された実質的に線形等化(EQ)フィルタを用いてスペクトルを整形することを含み得る。いくつかの例では、人間の声を検出するために出力スペクトルが整形されている場合、フィルタは、約500~3kHzの範囲内の周波数(例えば、周波数範囲の各端においてプラスまたはマイナス5%または10%)を下げ得る。いくつかの例は、低周波数および高周波数を強調し、中間帯域(例えば、約500~3kHzの範囲内)に空間を残すようにラウドネスを整形することを含み得る。
【0133】
代替的または追加的に、いくつかの例では、オーディオ処理変更は、ピークレベルを低下させるために、および/または、例えば、時間領域ダイナミックレンジ圧縮器またはマルチバンド周波数依存圧縮器を介して、オーディオ検出のための達成されたSERを作成する全体的なシステムの一部である任意のエコーキャンセレーションの性能をさらに低下させ得る、歪み成分(distortion product)を低減するために、出力の上限またはピークを変更することを含んでもよい。そのようなオーディオ信号修正は、オーディオ信号の振幅を効果的に低減することができ、ラウドスピーカのエクスカーションを制限するのに役立つことができる。
【0134】
代替的または追加的に、いくつかの例では、オーディオ処理変更は、システム(例えば、オーディオ処理マネージャ)がより高いSERを可能にしている1つまたは複数のマイクロホンへの1つまたは複数のラウドスピーカの出力のエネルギーまたは結合を減少させる傾向がある方法でオーディオを空間的にステアリングすることを含んでもよい。いくつかのそのような実装形態は、本明細書で説明される「ワープする」例を含み得る。
【0135】
代替的または追加的に、いくつかの例では、オーディオ処理変更は、エネルギーの保存および/またはリスニングロケーションの特定のまたは広範なセットにおける連続性の創出を含んでもよい。いくつかの例では、あるラウドスピーカから除去されたエネルギーは、別のラウドスピーカに追加のエネルギーを供給することによって補償され得る。いくつかの事例では、全体的なラウドネスは、同じまま、または本質的に同じままであり得る。これは、必須の特徴ではないが、コンテンツの損失なしに、「最も近い」デバイス、または最も近いデバイスのセットのオーディオ処理に対するより厳しい変更を可能にする有効な手段であり得る。しかしながら、連続性および/またはエネルギーの保存は、複雑なオーディオ出力およびオーディオシーンを扱うときに特に重要であり得る。
【0136】
代替的または追加的に、いくつかの例では、オーディオ処理変更は、アクティブ化の時定数を含んでもよい。例えば、オーディオ処理に対する変更は、それらが通常状態(例えば、1000~10000ms)に戻されるよりも少し速く(例えば、100~200ms)適用され得、その結果、オーディオ処理における変更(複数可)は、顕著である場合、意図的に見えるが、その変更(複数可)からのその後の戻りは、(ユーザの観点から)任意の実際のイベントまたは変更に関連するように見えないことがあり、いくつかの事例では、ほとんど気づかないほど遅い場合もある。
【0137】
この例では、ブロック915は、制御システムによって、1つまたは複数のタイプのオーディオ処理変更を適用させることを含む。
図5に示されるようないくつかの例では、オーディオ処理変更は、ダッキングモジュール400からのダッキング解480にしたがって、レンダリングされたオーディオデータに適用され得る。
図5に示されるようないくつかの例によれば、オーディオ処理変更はレンダラによって適用され得る。いくつかのそのような例では、1つまたは複数のタイプのオーディオ処理変更は、人の推定ロケーションから離れるようにオーディオ信号のレンダリングをワープするためにレンダリングプロセスを変更することを含み得る。しかしながら、いくつかのそのような例では、そのようなオーディオ処理変更は、それにもかかわらず、ダッキングモジュール400からのダッキング解480に少なくとも部分的に基づき得る。
【0138】
いくつかの例によれば、エコー管理システム情報は、エコー管理システム性能のモデルを含み得る。いくつかの例では、エコー管理システム性能のモデルは、音響エコーキャンセラ(AEC)性能行列であり得るか、またはそれを含み得る。いくつかの例では、エコー管理システム性能のモデルは、エコー管理システムによって提供される予想エコーリターンロスエンハンスメントの尺度であり得るか、またはそれを含み得る。
【0139】
いくつかの例では、1つまたは複数のタイプのオーディオ処理変更は、デバイス間エコーおよびデバイス内エコーの音響モデルに少なくとも部分的に基づき得る。代替的または追加的に、いくつかの例では、1つまたは複数のタイプのオーディオ処理変更は、相互可聴性行列に少なくとも部分的に基づいてもよい。
【0140】
代替的または追加的に、いくつかの例では、1つまたは複数のタイプのオーディオ処理変更は、人の推定ロケーションに少なくとも部分的に基づいてもよい。いくつかの例では、推定ロケーションは点に対応し得るが、他の例では、推定ロケーションはユーザゾーンなどのエリアに対応し得る。いくつかのそのような例によれば、ユーザゾーンは、ソファエリア、テーブルエリア、椅子エリアなどのようなオーディオ環境の一部であり得る。いくつかの例では、推定ロケーションは、人の頭部の推定ロケーションに対応し得る。いくつかの例によれば、人の推定ロケーションは、オーディオ環境内の複数のマイクロホンからの出力信号に少なくとも部分的に基づき得る。
【0141】
いくつかの実装形態では、1つまたは複数のタイプのオーディオ処理変更は、リスニング目的に少なくとも部分的に基づき得る。リスニング目的は、例えば、空間成分、周波数成分、またはその両方を含み得る。
【0142】
いくつかの例によれば、1つまたは複数のタイプのオーディオ処理変更は、1つまたは複数の制約に少なくとも部分的に基づき得る。1つまたは複数の制約は、例えば、人間の聴覚のモデルなどの知覚モデルに基づき得る。代替的または追加的に、1つまたは複数の制約は、オーディオコンテンツエネルギー保存、オーディオ空間性保存、オーディオエネルギーベクトル、正則化制約、またはそれらの組合せを含んでもよい。
【0143】
いくつかの例では、方法900は、1つまたは複数のタイプのオーディオ処理変更を適用させた後に、オーディオ環境の音響モデル、エコー管理システム性能のモデル、またはその両方を更新することを含み得る。
【0144】
いくつかの例では、1つまたは複数のタイプのオーディオ処理変更を決定することは、コスト関数の最適化に少なくとも部分的に基づき得る。いくつかのそのような例によれば、コスト関数は、式10~13のコスト関数のうちの1つに対応するか、またはそれと同様であり得る。コスト関数を最適化することに少なくとも部分的に基づくオーディオ処理変更の他の例が、以下で詳細に説明される。
【0145】
オーディオデバイスロケーション方法の例
図9の説明および本明細書の他の箇所で述べたように、いくつかの例では、オーディオ処理変更(ダッキング解に対応するものなど)は、オーディオデバイスロケーション情報に少なくとも部分的に基づき得る。オーディオ環境内のオーディオデバイスのロケーションは、限定はしないが、以下の段落で説明されるものを含む様々な方法によって決定または推定され得る。
【0146】
いくつかのそのような方法は、例えば、環境の間取図または同様の図式表現上にデバイスの近似ロケーションをマークするかまたは示すためにスマートフォンまたはタブレット装置を使用して、ユーザによる直接指示を受信することを含み得る。そのようなデジタルインターフェースは、スマートホームデバイスの構成、グループ化、名前、目的、およびアイデンティティの管理においてすでに一般的である。例えば、そのような直接指示は、Amazon Alexaスマートフォンアプリケーション、Sonos S2コントローラアプリケーション、または同様のアプリケーションを介して提供され得る。
【0147】
いくつかの例では、Bluetooth、Wi-Fi、ZigBeeなどの一般的なワイヤレス通信技術の測定された信号強度(受信信号強度表示またはRSSIと呼ばれることもある)を使用して基本的な三点測位問題を解き、例えば、いずれも参照により本明細書に組み込まれる、J. YangおよびY. Chenの「Indoor Localization Using Improved RSS-Based Lateration Methods」GLOBECOM 2009 - 2009 IEEE Global Telecommunications Conference, Honolulu, HI, 2009, pp. 1-6, doi: 10.1109/GLOCOM.2009.5425237に開示されているような、および/またはMardeni,Mardeni, R. & Othman, Shaifull & Nizam(2010)の「Node Positioning in ZigBee Network Using Trilateration Method Based on the Received Signal Strength Indicator (RSSI)」46に開示されているような、デバイス間の物理的距離の推定値を生成することを含み得る。
【0148】
参照により本明細書に組み込まれる、「Automatic Discovery and Localization of Speaker Locations in Surround Sound Systems」と題する米国特許第10,779,084号には、各スピーカとマイクロホンとの間の到達時間(TOA)を音響的に測定することによって、リスニング環境におけるラウドスピーカおよびマイクロホンの位置を自動的に特定することができるシステムが記載されている。
【0149】
参照により本明細書に組み込まれる「Audio Device Auto-Location」と題する国際公開第2021/127286 A1号では、オーディオ環境におけるオーディオデバイスロケーション、リスナ位置およびリスナロケーションを推定する方法が開示されている。いくつかの開示される方法は、到来方向(DOA)データを介して、および、DOAデータに基づいて複数の三角形の各々についての内角を決定することによって、環境におけるオーディオデバイスロケーションを推定することを含む。いくつかの例では、各三角形は、オーディオデバイスロケーションに対応する頂点を有する。いくつかの開示される方法は、三角形の各々の各辺の辺長を決定することと、順方向位置合わせ行列を生成するために、複数の三角形の各々を位置合わせする順方向位置合わせプロセスを実行することとを含む。いくつかの開示される方法は、逆方向位置合わせ行列を生成するために、複数の三角形の各々を逆シーケンスで位置合わせする逆方向位置合わせプロセスを実行することを決定することを含む。各オーディオデバイスロケーションの最終推定は、順方向整列行列の値および逆方向整列行列の値に少なくとも部分的に基づいてもよい。
【0150】
国際公開第WO 2021/127286 A1号の他の開示された方法は、リスナロケーションを推定することを含み、いくつかの事例では、リスナロケーションを含む。いくつかのそのような方法は、(例えば、環境内の1つまたは複数のラウドスピーカからのオーディオプロンプトを介して)1つまたは複数の発話を行うようにリスナに促すことと、DOAデータにしたがってリスナロケーションを推定することとを含む。DOAデータは、環境内の複数のマイクロホンによって取得されたマイクロホンデータに対応し得る。マイクロホンデータは、マイクロホンによる1つまたは複数の発話の検出に対応し得る。マイクロホンのうちの少なくともいくつかはラウドスピーカとコロケートされ得る。いくつかの例によれば、リスナロケーションを推定することは、三角測量プロセスを含み得る。いくつかのそのような例は、オーディオデバイスを通過するDOAベクトル間の交点を見つけることによってユーザの音声を三角測量することを含む。リスナの向きを決定するいくつかの開示される方法は、1つまたは複数のラウドスピーカロケーションを識別するようにユーザに促すことを含む。いくつかのそのような例は、ラウドスピーカロケーション(複数可)の隣に移動し、発話を行うことによって1つまたは複数のラウドスピーカロケーションを識別するようにユーザに促すことを含む。他の例は、慣性センサシステムと、オーディオ環境のオーディオデバイスを制御している制御システム(オーケストレーションデバイスの制御システムなど)と通信するように構成されたワイヤレスインターフェースとを含む携帯電話などのハンドヘルドデバイスを用いて、1つまたは複数のラウドスピーカロケーションの各々を指し示すことによって、1つまたは複数のラウドスピーカロケーションを識別するようにユーザを促すことを含む。いくつかの開示される方法は、オーディオオブジェクトがリスナの周りを回転するように見えるようにラウドスピーカにオーディオオブジェクトをレンダリングさせることによってリスナの向きを決定することと、ラウドスピーカロケーション、テレビロケーションなどのロケーション内にオーディオオブジェクトがあるとリスナが知覚したときに(「ストップ!」などの)発話を行うようリスナに促すこととを含む。いくつかの開示される方法は、カメラデータを介して、例えば、カメラデータにしたがって、オーディオ環境の1つまたは複数のオーディオデバイスとリスナとの相対ロケーションを決定することによって、カメラデータにしたがって(例えば、リスナが面している方向にしたがって)、オーディオ環境の1つまたは複数のオーディオデバイスに対するリスナの向きを決定することなどによって、リスナのロケーション所および/または向きを決定するステップを含む。
【0151】
参照により本明細書に組み込まれる、Shi,Guangiらによる、「Spatial Calibration of Surround Sound Systems including Listener Position Estimation」(AES 137
th Convention, October 2014)には、サウンドバー、フロントセンタースピーカなど、ロケーションが予測可能である再生システムの構成要素に関連付けられた単一の線形マイクロホンアレイが、サテライトラウドスピーカとリスナの両方の到着時間差(TDOA)を測定して、ラウドスピーカとリスナの両方の位置を特定するシステムが説明されている。この場合、リスニングの向きは、本質的に、検出されたリスニング位置と、テレビとコロケートされた(テレビの真上または真下に設置された)サウンドバーなど、線形マイクロホンアレイを含む再生システムの構成要素とを接続する線として定義される。サウンドバーのロケーションは、ビデオスクリーンの真上または真下に予測可能にあるので、測定された距離および入射角の幾何学的形状は、単純な三角法の原理を使用して、その基準サウンドバーロケーションの前の任意の点に対する絶対位置に変換され得る。線形マイクロホンアレイのラウドスピーカとマイクロホンとの間の距離は、テスト信号を再生し、放射側ラウドスピーカと受信側マイクロホンとの間の飛行時間(TOF)を測定することによって推定され得る。この目的のために、測定されたインパルス応答の直接成分の時間遅延を使用することができる。ラウドスピーカとマイクロホンアレイ要素との間のインパルス応答は、分析中のラウドスピーカを通してテスト信号を再生することによって得ることができる。例えば、最大長シーケンス(MLS)またはチャープ信号(対数正弦掃引としても知られる)のいずれかをテスト信号として使用することができる。室内のインパルス応答は、キャプチャされた信号とMLS入力との間の循環相互相関を計算することによって得ることができる。この参考文献の
図2は、MLS入力を使用して得られるエコーインパルス応答を示す。このインパルス応答は、典型的なオフィスまたはリビングルームで行われる測定に類似すると言われている。直接成分の遅延は、ラウドスピーカとマイクロホンアレイ要素との間の距離を推定するために使用される。ラウドスピーカ距離推定のために、テスト信号を再生するために使用されるオーディオデバイスの任意のループバックレイテンシが計算され、測定されたTOF推定値から除去されるべきである。
【0152】
オーディオ環境における人のロケーションおよび向きを推定する例
オーディオ環境における人のロケーションおよび向きは、限定はしないが、以下の段落で説明されるものを含む様々な方法によって決定または推定され得る。
【0153】
参照により本明細書に組み込まれるHess,Wolfgangの「Head-Tracking Techniques for Virtual Acoustic Applications」(AES 133rd Convention, October 2012)では、空間オーディオ再生システムのコンテキストにおいてリスナの頭部の位置と向きの両方を追跡するための多数の市販の技法が提示されている。説明される1つの特定の例は、Microsoft Kinectである。公的に入手可能なソフトウェア(Windows(登録商標)Software Development Kit(SDK))とともに、その深度感知および標準カメラにより、骨格トラッキングおよび顔認識の組合せを使用して、空間内のいくつかのリスナの頭部の位置および向きを同時にトラッキングすることができる。Kinect for Windowsは製造中止になったが、現在は、次世代のMicrosoftの深度センサを実装したAzure Kinectデベロッパーキット(DK)が入手可能である。
【0154】
参照により本明細書に組み込まれる、「Automatic Discovery and Localization of Speaker Locations in Surround Sound Systems」と題する米国特許第10,779,084号には、各スピーカとマイクロホンとの間の到達時間(TOA)を音響的に測定することによって、リスニング環境におけるラウドスピーカおよびマイクロホンの位置を自動的に特定することができるシステムが記載されている。リスニング位置は、所望のリスニング位置にマイクロホン(例えば、リスナによって保持されるモバイルホン内のマイクロホン)を配置および位置付けることによって検出され得、関連付けられたリスニングの向きは、リスナの視聴方向における点に、例えばTVに、別のマイクロホンを配置することによって定義され得る。代替的に、リスニングの向きは、例えばTV上のラウドスピーカのように、ラウドスピーカを視聴方向に位置付けることによって定義され得る。
【0155】
参照により本明細書に組み込まれる「Audio Device Auto-Location」と題する国際公開第2021/127286 A1号では、オーディオ環境におけるオーディオデバイスロケーション、リスナ位置およびリスナロケーションを推定する方法が開示されている。いくつかの開示される方法は、到来方向(DOA)データを介して、および、DOAデータに基づいて複数の三角形の各々についての内角を決定することによって、環境におけるオーディオデバイスロケーションを推定することを含む。いくつかの例では、各三角形は、オーディオデバイスロケーションに対応する頂点を有する。いくつかの開示される方法は、三角形の各々の各辺の辺長を決定することと、順方向位置合わせ行列を生成するために、複数の三角形の各々を位置合わせする順方向位置合わせプロセスを実行することとを含む。いくつかの開示される方法は、逆方向位置合わせ行列を生成するために、複数の三角形の各々を逆シーケンスで位置合わせする逆方向位置合わせプロセスを実行することを決定することを含む。各オーディオデバイスロケーションの最終推定は、順方向整列行列の値および逆方向整列行列の値に少なくとも部分的に基づいてもよい。
【0156】
国際公開第WO 2021/127286 A1号の他の開示された方法は、リスナロケーションを推定することを含み、いくつかの事例では、リスナロケーションを含む。いくつかのそのような方法は、(例えば、環境内の1つまたは複数のラウドスピーカからのオーディオプロンプトを介して)1つまたは複数の発話を行うようにリスナに促すことと、DOAデータにしたがってリスナロケーションを推定することとを含む。DOAデータは、環境内の複数のマイクロホンによって取得されたマイクロホンデータに対応し得る。マイクロホンデータは、マイクロホンによる1つまたは複数の発話の検出に対応し得る。マイクロホンのうちの少なくともいくつかはラウドスピーカとコロケートされ得る。いくつかの例によれば、リスナロケーションを推定することは、三角測量プロセスを含み得る。いくつかのそのような例は、オーディオデバイスを通過するDOAベクトル間の交点を見つけることによってユーザの音声を三角測量することを含む。リスナの向きを決定するいくつかの開示される方法は、1つまたは複数のラウドスピーカロケーションを識別するようにユーザに促すことを含む。いくつかのそのような例は、ラウドスピーカロケーション(複数可)の隣に移動し、発話を行うことによって1つまたは複数のラウドスピーカロケーションを識別するようにユーザに促すことを含む。他の例は、慣性センサシステムと、オーディオ環境のオーディオデバイスを制御している制御システム(オーケストレーションデバイスの制御システムなど)と通信するように構成されたワイヤレスインターフェースとを含む携帯電話などのハンドヘルドデバイスを用いて、1つまたは複数のラウドスピーカロケーションの各々を指し示すことによって、1つまたは複数のラウドスピーカロケーションを識別するようにユーザを促すことを含む。いくつかの開示される方法は、オーディオオブジェクトがリスナの周りを回転するように見えるようにラウドスピーカにオーディオオブジェクトをレンダリングさせることによってリスナの向きを決定することと、ラウドスピーカロケーション、テレビロケーションなどのロケーション内にオーディオオブジェクトがあるとリスナが知覚したときに(「ストップ!」などの)発話を行うようリスナに促すこととを含む。いくつかの開示される方法は、カメラデータを介して、例えば、カメラデータにしたがって、オーディオ環境の1つまたは複数のオーディオデバイスとリスナとの相対ロケーションを決定することによって、カメラデータにしたがって(例えば、リスナが面している方向にしたがって)、オーディオ環境の1つまたは複数のオーディオデバイスに対するリスナの向きを決定することなどによって、リスナのロケーション所および/または向きを決定するステップを含む。
【0157】
参照により本明細書に組み込まれる、Shi,Guangiらによる、「Spatial Calibration of Surround Sound Systems including Listener Position Estimation」(AES 137
th Convention, October 2014)には、サウンドバー、フロントセンタースピーカなど、ロケーションが予測可能である再生システムの構成要素に関連付けられた単一の線形マイクロホンアレイが、サテライトラウドスピーカとリスナの両方の到着時間差(TDOA)を測定して、ラウドスピーカとリスナの両方の位置を特定するシステムが説明されている。この場合、リスニングの向きは、本質的に、検出されたリスニング位置と、テレビとコロケートされた(テレビの真上または真下に設置された)サウンドバーなど、線形マイクロホンアレイを含む再生システムの構成要素とを接続する線として定義される。サウンドバーのロケーションは、ビデオスクリーンの真上または真下に予測可能にあるので、測定された距離および入射角の幾何学的形状は、単純な三角法の原理を使用して、その基準サウンドバーロケーションの前の任意の点に対する絶対位置に変換され得る。線形マイクロホンアレイのラウドスピーカとマイクロホンとの間の距離は、テスト信号を再生し、放射側ラウドスピーカと受信側マイクロホンとの間の飛行時間(TOF)を測定することによって推定され得る。この目的のために、測定されたインパルス応答の直接成分の時間遅延を使用することができる。ラウドスピーカとマイクロホンアレイ要素との間のインパルス応答は、分析中のラウドスピーカを通してテスト信号を再生することによって得ることができる。例えば、最大長シーケンス(MLS)またはチャープ信号(対数正弦掃引としても知られる)のいずれかをテスト信号として使用することができる。室内のインパルス応答は、キャプチャされた信号とMLS入力との間の循環相互相関を計算することによって得ることができる。この参考文献の
図2は、MLS入力を使用して得られるエコーインパルス応答を示す。このインパルス応答は、典型的なオフィスまたはリビングルームで行われる測定に類似すると言われている。直接成分の遅延は、ラウドスピーカとマイクロホンアレイ要素との間の距離を推定するために使用される。ラウドスピーカ距離推定のために、テスト信号を再生するために使用されるオーディオデバイスの任意のループバックレイテンシが計算され、測定されたTOF推定値から除去されるべきである。
【0158】
ユーザゾーンに応じた人のロケーションの推定
いくつかの例では、オーディオ環境における人の推定ロケーションは、ユーザゾーンに対応し得る。このセクションは、マイクロホン信号に少なくとも部分的に基づいて、人が位置するユーザゾーンを推定するための方法を説明する。
【0159】
図10は、
図1Aに示されるような装置によって実行され得る方法の一例を概説するフロー図である。方法1000のブロックは、本明細書で説明される他の方法と同様に、必ずしも示された順序で実行されるとは限らない。さらに、そのような方法は、図示および/または説明されるよりも多いまたは少ないブロックを含み得る。この実装形態では、方法1000は、環境内のユーザのロケーションを推定することを含む。
【0160】
この例では、ブロック1005は、環境内の複数のマイクロホンの各マイクロホンから出力信号を受信することを含む。この場合、複数のマイクロホンの各々は、環境のマイクロホンロケーションに存在する。この例によれば、出力信号は、ユーザの現在の発話に対応する。いくつかの例では、現在の発話は、ウェイクワード発話であり得るか、またはそれを含み得る。ブロック1005は、例えば、制御システム(
図1Aの制御システム120など)が、インターフェースシステム(
図1Aのインターフェースシステム205など)を介して、環境内の複数のマイクロホンの各マイクロホンから出力信号を受信することを含み得る。
【0161】
いくつかの例では、環境内のマイクロホンのうちの少なくともいくつかは、1つまたは複数の他のマイクロホンによって提供される出力信号に対して非同期である出力信号を提供し得る。例えば、複数のマイクロホンのうちの第1のマイクロホンは、第1のサンプルクロックにしたがってオーディオデータをサンプリングし得、複数のマイクロホンのうちの第2のマイクロホンは、第2のサンプルクロックにしたがってオーディオデータをサンプリングし得る。いくつかの事例では、環境内のマイクロホンのうちの少なくとも1つは、スマートオーディオデバイス内に含まれるか、またはそれと通信するために構成され得る。
【0162】
この例によれば、ブロック1010は、各マイクロホンの出力信号から複数の現在の音響特徴を決定することを含む。この例では、「現在の音響特徴」とは、ブロック1005の「現在の発話」から導出された音響特徴である。いくつかの実装形態では、ブロック1010は、1つまたは複数の他のデバイスから複数の現在の音響特徴を受信することを含み得る。例えば、ブロック1010は、1つまたは複数の他のデバイスによって実装された1つまたは複数のウェイクワード検出器から複数の現在の音響特徴のうちの少なくともいくつかを受信することを含み得る。代替的または追加的に、いくつかの実装形態では、ブロック1010は、出力信号から複数の現在の音響特徴を決定することを含んでもよい。
【0163】
音響特徴が単一のデバイスによって決定されるかマルチデバイスによって決定されるかにかかわらず、音響特徴は、非同期的に決定され得る。音響特徴がマルチデバイスによって決定される場合、それらのデバイスが音響特徴を決定するプロセスを協調させるように構成されていない限り、音響特徴は一般に非同期的に決定されることになる。音響特徴が単一のデバイスによって決定される場合、いくつかの実装形態では、それにもかかわらず、単一のデバイスが異なる時間に各マイクロホンの出力信号を受信し得るので、音響特徴は非同期的に決定され得る。いくつかの例では、環境内のマイクロホンのうちの少なくともいくつかが、1つまたは複数の他のマイクロホンによって提供される出力信号に対して非同期である出力信号を提供し得るので、音響特徴は非同期に決定され得る。
【0164】
いくつかの例では、音響特徴は、ウェイクワード信頼度メトリック、ウェイクワード持続時間メトリック、および/または少なくとも1つの受信レベルメトリックを含み得る。受信レベルメトリックは、マイクロホンによって検出された音の受信レベルを示し得、マイクロホンの出力信号のレベルに対応し得る。
【0165】
代替的または追加的に、音響特徴は、以下のうちの1つまたは複数を含み得る:
・ 音響モデルとの1-best(Viterbi)アラインメントに沿った各ウェイクワード状態についての平均状態エントロピー(純度)。
・ ウェイクワード検出器の音響モデルに対するCTC損失(Connectionist Temporal Classification Loss)。
・ ウェイクワード検出器は、ウェイクワード信頼度に加えて、マイクロホンからのトーカの距離の推定値および/またはRT60推定値を提供するようにトレーニングされ得る。距離推定値および/またはRT60推定値は、音響特徴であり得る。
・ マイクロホンにおけるブロードバンド受信レベル/パワーの代わりに、またはそれに加えて、音響特徴は、いくつかの対数/メル/バーク間隔の周波数帯域における受信レベルであってもよい。周波数帯域は、特定の実装形態にしたがって変化し得る(例えば、2つの周波数帯域、5つの周波数帯域、20個の周波数帯域、50個の周波数帯域、1オクターブの周波数帯域、または1/3オクターブの周波数帯域)。
・ 帯域パワーの対数のDCT(離散コサイン変換)を行うことによって計算される、先行する点におけるスペクトル情報のケプストラム表現。
・ 人間の音声に対して重み付けされた周波数帯域における帯域パワー。例えば、音響特徴は、特定の周波数帯域(例えば、400Hz~1.5kHz)のみに基づき得る。この例では、より高い周波数およびより低い周波数は無視され得る。
・ 帯域単位またはビン単位の音声アクティビティ検出器の信頼度。
・ 音響特徴は、不十分な信号対ノイズ比を有するマイクロホンを無視するように、長期ノイズ推定値に少なくとも部分的に基づき得る。
・ 音声の「ピーキネス」の尺度としての尖度。尖度は、長い残響尾によるスミアリングの指標となり得る。
・ ウェイクワードの推定オンセット時間。オンセットおよび持続時間は、すべてのマイクロホンにわたって1フレーム程度内では等しいと予想される。外れ値は、信頼できない推定値の手掛かりを与える可能性がある。これは、必ずしもサンプルに対してではなく、例えば数十ミリ秒のフレームに対して、あるレベルの同期性を仮定する。
【0166】
この例によれば、ブロック1015は、複数の現在の音響特徴に分類器を適用することを含む。いくつかのそのような例では、分類器を適用することは、環境内の複数のユーザゾーン内のユーザによって行われた複数の以前の発話から導出された以前に決定された音響特徴に対してトレーニングされたモデルを適用することを含み得る。様々な例が本明細書に提供される。
【0167】
いくつかの例では、ユーザゾーンは、シンクエリア、食品調理エリア、冷蔵庫エリア、ダイニングエリア、ソファエリア、テレビエリア、寝室エリア、および/または出入口エリアを含み得る。いくつかの例によれば、ユーザゾーンのうちの1つまたは複数は、所定のユーザゾーンであり得る。いくつかのそのような例では、1つまたは複数の所定のユーザゾーンは、トレーニングプロセス中にユーザによって選択可された可能性がある。
【0168】
いくつかの実装形態では、分類器を適用することは、以前の発話に対してトレーニングされたガウス混合モデルを適用することを含み得る。いくつかのそのような実装形態によれば、分類器を適用することは、以前の発話の正規化されたウェイクワード信頼度、正規化された平均受信レベル、または最大受信レベルのうちの1つまたは複数に対してトレーニングされたガウス混合モデルを適用することを含み得る。しかしながら、代替実装形態では、分類器を適用することは、本明細書で開示される他のモデルのうちの1つなど、異なるモデルに基づいてもよい。いくつかの事例では、モデルは、ユーザゾーンでラベル付けされたトレーニングデータを使用してトレーニングされ得る。しかしながら、いくつかの例では、分類器を適用することは、ユーザゾーンでラベル付けされていないラベル付けされていないトレーニングデータを使用してトレーニングされたモデルを適用することを含む。
【0169】
いくつかの例では、以前の発話は、ウェイクワード発話であった可能性もあるし、ウェイクワード発話を含んでいた可能性もある。いくつかのそのような例によれば、以前の発話および現在の発話は、同じウェイクワードの発話であった可能性がある。
【0170】
この例では、ブロック1020は、分類器からの出力に少なくとも部分的に基づいて、ユーザが現在位置するユーザゾーンの推定値を決定することを含む。いくつかのそのような例では、推定値は、複数のマイクロホンの幾何学的ロケーションを参照せずに決定され得る。例えば、推定値は、個々のマイクロホンの座標を参照せずに決定され得る。いくつかの例では、推定値は、ユーザの幾何学的ロケーションを推定することなく決定され得る。
【0171】
方法1000のいくつかの実装形態は、推定されたユーザゾーンにしたがって少なくとも1つのスピーカを選択することを含み得る。いくつかのそのような実装形態は、推定されたユーザゾーンに音を提供するように、少なくとも1つの選択されたスピーカを制御することを含み得る。代替的または追加的に、方法1000のいくつかの実装形態は、推定されたユーザゾーンにしたがって少なくとも1つのマイクロホンを選択することを含み得る。いくつかのそのような実装形態は、少なくとも1つの選択されたマイクロホンによって出力された信号をスマートオーディオデバイスに提供することを含み得る。
【0172】
図11は、ゾーン分類器を実装するように構成された実施形態の一例の要素のブロック図である。この例によれば、システム1100は、環境(例えば、
図1Aまたは
図1Bに示されるような環境)の少なくとも一部に分散された複数のラウドスピーカ1104を含む。この例では、システム1100は、マルチチャネルラウドスピーカレンダラ1101を含む。この実装形態によれば、マルチチャネルラウドスピーカレンダラ1101の出力は、ラウドスピーカ駆動信号(スピーカ1104を駆動するためのスピーカフィード)とエコー基準の両方として機能を果たす。この実装形態では、エコー基準は、レンダラ1101から出力されたスピーカフィード信号のうちの少なくともいくつかを含む複数のラウドスピーカ基準チャネル1102を介してエコー管理サブシステム1103に提供される。
【0173】
この実装形態では、システム1100は、複数のエコー管理サブシステム1103を含む。この例によれば、エコー管理サブシステム1103は、1つまたは複数のエコー抑制プロセスおよび/または1つまたは複数のエコーキャンセレーションプロセスを実装するように構成される。この例では、エコー管理サブシステム1103の各々は、対応するエコー管理出力1103Aをウェイクワード検出器1106のうちの1つに提供する。エコー管理出力1103Aは、エコー管理サブシステム1103のうちの関連する1つへの入力に対して減衰されたエコーを有する。
【0174】
この実装形態によれば、システム1100は、環境(例えば、
図1Aまたは
図1Bに示された環境)の少なくとも一部分に分散されたN個のマイクロホン1105(Nは整数である)を含む。マイクロホンは、アレイマイクロホンおよび/またはスポットマイクロホンを含み得る。例えば、環境内に位置する1つまたは複数のスマートオーディオデバイスは、マイクロホンのアレイを含み得る。この例では、マイクロホン1105の出力は、エコー管理サブシステム1103への入力として提供される。この実装形態によれば、エコー管理サブシステム1103の各々は、個々のマイクロホン1105またはマイクロホン1105の個々のグループもしくはサブセット)の出力をキャプチャする。
【0175】
この例では、システム1100は、複数のウェイクワード検出器1106を含む。この例によれば、ウェイクワード検出器1106の各々は、エコー管理サブシステム1103のうちの1つからオーディオ出力を受信し、複数の音響特徴1106Aを出力する。各エコー管理サブシステム1103から出力される音響特徴1106Aは、(限定はしないが)ウェイクワード信頼度、ウェイクワード持続時間、および受信レベルの測定値を含み得る。3つの音響特徴1106Aを示す3つの矢印が、各エコー管理サブシステム1103から出力されるものとして示されているが、代替実装形態では、より多くのまたはより少ない音響特徴1106Aが出力されてもよい。さらに、これらの3つの矢印は、ほぼ垂直な線に沿って分類器1107に衝突しているが、これは、分類器1107が必ずしも同時にすべてのウェイクワード検出器1106から音響特徴1106Aを受信することを示すものではない。本明細書の他の箇所で述べたように、音響特徴1106Aは、いくつかの事例では、非同期的に、決定され、および/または分類器に提供され得る。
【0176】
この実装形態によれば、システム1100は、分類器1107と呼ばれることもあるゾーン分類器1107を含む。この例では、分類器は、環境内の複数の(例えば、すべての)マイクロホン1105について、複数のウェイクワード検出器1106から複数の特徴1106Aを受信する。この例によれば、ゾーン分類器1107の出力1108は、ユーザが現在位置するユーザゾーンの推定値に対応する。いくつかのそのような例によれば、出力1108は、1つまたは複数の事後確率に対応し得る。ユーザが現在位置するユーザゾーンの推定値は、ベイズ統計による最大事後確率であり得るか、またはそれに対応し得る。
【0177】
次に、いくつかの例では、
図11のゾーン分類器1107に対応し得る分類器の例示的な実装形態について説明する。x
i(n)を離散時間nにおけるi番目のマイクロホン信号(i={1...N})とする(すなわち、マイクロホン信号x
i(n)はN個のマイクロホン1105の出力である)。エコー管理サブシステム1103におけるN個の信号x
i(n)の処理は、各々、離散時間nにおける「クリーン」マイクロホン信号e
i(n)を生成し、ここで、i={1...N}である。
図11において1103Aと呼ばれるクリーン信号e
i(n)は、この例では、ウェイクワード検出器1106に供給される。ここで、各ウェイクワード検出器1106は、
図11において1106Aと呼ばれる特徴のベクトルw
i(j)を生成し、ここで、j={1...J}は、j番目のウェイクワード発話に対応するインデックスである。この例では、分類器1107は、入力として、以下の集約特徴セットを取る:
【数32】
【0178】
いくつかの実装形態によれば、ゾーンラベルのセットCk(k={1...K})は、環境内の異なるユーザゾーンの数Kに対応し得る。例えば、ユーザゾーンは、ソファゾーン、キッチンゾーン、リーディングチェアゾーンなどを含み得る。いくつかの例は、キッチンまたは他の部屋内の2つ以上のゾーンを定義し得る。例えば、キッチンエリアは、シンクゾーン、食品調理ゾーン、冷蔵庫ゾーン、およびダイニングゾーンを含み得る。同様に、リビングルームエリアは、ソファゾーン、テレビゾーン、リーディングチェアゾーン、1つまたは複数の出入口ゾーンなどを含み得る。これらのゾーンのゾーンラベルは、例えばトレーニング段階中に、ユーザによって選択可能であり得る。
【0179】
いくつかの実装形態では、分類器1107は、例えば、ベイズ分類器を使用することによって、特徴セットW(j)の事後確率p(Ck|W(j))を推定する。確率p(Ck|W(j))は、ユーザがゾーンCkの各々にいる確率(ゾーンCkの各々および発話の各々についてのj番目の発話およびk番目のゾーンについて)を示し、分類器1107の出力1108の一例である。
【0180】
いくつかの例によれば、トレーニングデータは、ゾーン、例えばソファゾーンを選択または定義するようにユーザに促すことによって(例えば各ユーザゾーンについて)収集され得る。トレーニングプロセスは、選択されたまたは定義されたゾーンの近くで、ウェイクワードなどのトレーニング発話を行うようにユーザに促すことを含み得る。ソファゾーンの例では、トレーニングプロセスは、ソファの中央および最端でトレーニング発話を行うようにユーザを促すことを含み得る。トレーニングプロセスは、ユーザゾーン内の各ロケーションでトレーニング発話を数回繰り返すようにユーザを促すことを含み得る。ユーザは、次いで、別のユーザゾーンに移動し、すべての指定されたユーザゾーンがカバーされるまで続けるように促され得る。
【0181】
図12は、
図1Aの装置200などの装置によって実行され得る方法の一例を概説するフロー図である。方法1200のブロックは、本明細書で説明される他の方法と同様に、必ずしも示された順序で実行されるとは限らない。さらに、そのような方法は、図示および/または説明されるよりも多いまたは少ないブロックを含み得る。この実装形態では、方法1200は、環境内のユーザのロケーションを推定するために分類器をトレーニングすることを含む。
【0182】
この例では、ブロック1205は、環境の第1のユーザゾーン内の複数のロケーションの各々において少なくとも1つのトレーニング発話を行うようにユーザを促すことを含む。トレーニング発話(複数可)は、いくつかの例では、ウェイクワード発話の1つまたは複数のインスタンスであり得る。いくつかの実装形態によれば、第1のユーザゾーンは、ユーザによって選択および/または定義された任意のユーザゾーンであり得る。いくつかの事例では、制御システムは、対応するゾーンラベル(例えば、上記で説明したゾーンラベルCkのうちの1つのゾーンラベルの対応するインスタンス)を作成し得、ゾーンラベルを第1のユーザゾーンについて取得されたトレーニングデータに関連付け得る。
【0183】
これらのトレーニングデータを収集するために、自動化されたプロンプトシステムが使用され得る。上述したように、装置200のインターフェースシステム205は、1つまたは複数のマイクロホン、1つまたは複数のスピーカ、ディスプレイシステム、タッチセンサシステムおよび/またはジェスチャセンサシステムなど、ユーザインターフェースを実装するための1つまたは複数のデバイスを含み得る。例えば、装置200は、ディスプレイシステムの画面上に以下のプロンプトをユーザに提供してもよいし、トレーニングプロセス中に1つまたは複数のスピーカを介してアナウンスされるそれらを聞いてもよい:
・ 「ソファに移動してください。」
・ 「頭を動かしながら、ウェイクワードを10回言ってください。」
・ 「ソファとリーディングチェアの中間位置に移動して、ウェイクワードを10回言ってください。」
・ 「料理するようにキッチンに立って、ウェイクワードを10回言ってください。」
【0184】
この例では、ブロック1210は、環境内の複数のマイクロホンの各々から第1の出力信号を受信することを含む。いくつかの例では、ブロック1210は、環境内のアクティブなマイクロホンのすべてから第1の出力信号を受信することを含み得るが、他の例では、ブロック1210は、環境内のアクティブなマイクロホンのすべてのマイクロホンのサブセットから第1の出力信号を受信することを含み得る。いくつかの例では、環境内のマイクロホンのうちの少なくともいくつかは、1つまたは複数の他のマイクロホンによって提供される出力信号に対して非同期である出力信号を提供し得る。例えば、複数のマイクロホンのうちの第1のマイクロホンは、第1のサンプルクロックにしたがってオーディオデータをサンプリングし得、複数のマイクロホンのうちの第2のマイクロホンは、第2のサンプルクロックにしたがってオーディオデータをサンプリングし得る。
【0185】
この例では、複数のマイクロホンの各マイクロホンが、環境のマイクロホンロケーションに存在する。この例では、第1の出力信号は、第1のユーザゾーンから受信された検出されたトレーニング発話のインスタンスに対応する。ブロック1205は、環境の第1のユーザゾーン内の複数のロケーションの各々において少なくとも1つのトレーニング発話を行うようにユーザを促すことを含むので、この例では、「第1の出力信号」という用語は、第1のユーザゾーンについてのトレーニング発話に対応するすべての出力信号のセットを指す。他の例では、「第1の出力信号」という用語は、第1のユーザゾーンについてのトレーニング発話に対応するすべての出力信号のサブセットを指してもよい。
【0186】
この例によれば、ブロック1215は、第1の出力信号の各々から1つまたは複数の第1の音響特徴を決定することを含む。いくつかの例では、第1の音響特徴は、ウェイクワード信頼度メトリックおよび/または受信レベルメトリックを含み得る。例えば、第1の音響特徴は、正規化されたウェイクワード信頼度メトリック、正規化された平均受信レベルの指示、および/または最大受信レベルの指示を含み得る。
【0187】
上述したように、ブロック1205は、環境の第1のユーザゾーン内の複数のロケーションの各々において少なくとも1つのトレーニング発話を行うようにユーザを促すことを含むので、この例では、「第1の出力信号」という用語は、第1のユーザゾーンについてのトレーニング発話に対応するすべての出力信号のセットを指す。したがって、この例では、「第1の音響特徴」という用語は、第1のユーザゾーンについてのトレーニング発話に対応するすべての出力信号のセットから導出された音響特徴のセットを指す。したがって、この例では、第1の音響特徴のセットは、第1の出力信号のセットと少なくとも同じ大きさである。例えば、出力信号の各々から2つの音響特徴が決定された場合、第1の音響特徴のセットは、第1の出力信号のセットの2倍の大きさになる。
【0188】
この例では、ブロック1220は、第1のユーザゾーンと第1の音響特徴との間の相関を作るために分類器モデルをトレーニングすることを含む。分類器モデルは、例えば、本明細書に開示されるもののいずれかであり得る。この実装形態によれば、分類器モデルは、複数のマイクロホンの幾何学的ロケーションを参照せずにトレーニングされる。言い換えると、この例では、複数のマイクロホンの幾何学的ロケーションに関するデータ(例えば、マイクロホン座標データ)は、トレーニングプロセス中に分類器モデルに提供されない。
【0189】
図13は、
図1Aの装置200などの装置によって実行され得る方法の別の例を概説するフロー図である。方法1300のブロックは、本明細書で説明される他の方法と同様に、必ずしも示された順序で実行されるとは限らない。例えば、いくつかの実装形態では、ブロック1325の音響特徴決定プロセスの少なくとも一部は、ブロック1315またはブロック1320の前に実行されてもよい。さらに、そのような方法は、図示および/または説明されるよりも多いまたは少ないブロックを含み得る。この実装形態では、方法1300は、環境内のユーザのロケーションを推定するために分類器をトレーニングすることを含む。方法1300は、方法1200を環境の複数のユーザゾーンに拡張する例を提供する。
【0190】
この例では、ブロック1305は、環境のユーザゾーン内のロケーションにおいて少なくとも1つのトレーニング発話を行うようにユーザを促すことを含む。いくつかの事例では、ブロック1305は、ブロック1305がユーザゾーン内の単一のロケーションに関係することを除いて、
図12のブロック1205を参照しながら上記で説明した方法で実行され得る。トレーニング発話(複数可)は、いくつかの例では、ウェイクワード発話の1つまたは複数のインスタンスであり得る。いくつかの実装形態によれば、ユーザゾーンは、ユーザによって選択および/または定義された任意のユーザゾーンであり得る。いくつかの事例では、制御システムは、対応するゾーンラベル(例えば、上記で説明したゾーンラベルC
kのうちの1つのゾーンラベルの対応するインスタンス)を作成し得、ゾーンラベルをユーザゾーンについて取得されたトレーニングデータに関連付け得る。
【0191】
この例によれば、ブロック1310は、実質的に、
図12のブロック1210を参照して上記で説明したように実行される。しかしながら、この例では、ブロック1310のプロセスは、必ずしもトレーニングデータが取得される第1のユーザゾーンではなく、任意のユーザゾーンに一般化される。したがって、ブロック1310において受信される出力信号は、「環境内の複数のマイクロホンの各々から出力信号であり、複数のマイクロホンの各々は、環境のマイクロホンロケーションに存在し、出力信号は、ユーザゾーンから受信された検出されたトレーニング発話のインスタンスに対応する」。この例では、「出力信号」という用語は、ユーザゾーンのロケーションにおける1つまたは複数のトレーニング発話に対応するすべての出力信号のセットを指す。他の例では、「出力信号」という用語は、ユーザゾーンの位置における1つまたは複数のトレーニング発話に対応するすべての出力信号のサブセットを指してもよい。
【0192】
この例によれば、ブロック1315は、現在のユーザゾーンについて十分なトレーニングデータが取得されたかどうかを決定することを含む。いくつかのそのような例では、ブロック1315は、現在のユーザゾーンについてしきい値数のトレーニング発話に対応する出力信号が取得されたかどうかを決定することを含み得る。代替的または追加的に、ブロック1315は、現在のユーザゾーン内のしきい値数のロケーション中のトレーニング発話に対応する出力信号が取得されたかどうかを決定することを含んでもよい。そうでない場合、方法1300は、この例ではブロック1305に戻り、ユーザは、同じユーザゾーン内のロケーションにおいて少なくとも1つの追加の発話を行うように促される。
【0193】
しかしながら、ブロック1315において、現在のユーザゾーンについて十分なトレーニングデータが取得されたと決定された場合、この例では、プロセスはブロック1320に進む。この例によれば、ブロック1320は、追加のユーザゾーンについてのトレーニングデータを取得するかどうかを決定することを含む。いくつかの例によれば、ブロック1320は、ユーザが以前に識別した各ユーザゾーンについてトレーニングデータが取得されたかどうかを決定することを含み得る。他の例では、ブロック1320は、トレーニングデータが最小数のユーザゾーンについて取得されたかどうかを決定することを含み得る。最小数は、ユーザによって選択可された可能性がある。他の例では、最小数は、環境ごとの推奨最小数、環境の部屋ごとの推奨最小数などであってもよい。
【0194】
ブロック1320において、トレーニングデータが追加のユーザゾーンについて取得されるべきであると決定された場合、この例では、プロセスは、環境の別のユーザゾーンに移動するようにユーザに促すことを含むブロック1322に続く。いくつかの例では、次のユーザゾーンは、ユーザによって選択可能であり得る。この例によれば、プロセスは、ブロック1322のプロンプトの後にブロック1305に続く。いくつかのそのような例では、ユーザは、ブロック1322のプロンプトの後にユーザが新しいユーザゾーンに到着したことを確認するように促され得る。いくつかのそのような例によれば、ユーザは、ブロック1305のプロンプトが提供される前に、ユーザが新しいユーザゾーンに到着したことを確認することを要求され得る。
【0195】
ブロック1320において、追加のユーザゾーンについてトレーニングデータが取得されるべきでないと決定された場合、この例では、プロセスはブロック1325に進む。この例では、方法1300は、K個のユーザゾーンのトレーニングデータを取得することを含む。この実装形態では、ブロック1325は、トレーニングデータが取得された第1~第Kのユーザゾーンの各々に対応する第1~第Hの出力信号から第1~第Gの音響特徴を決定することを含む。この例では、「第1の出力信号」という用語は、第1のユーザゾーンについてのトレーニング発話に対応するすべての出力信号のセットを指し、「第Hの出力信号」という用語は、第Kのユーザゾーンについてのトレーニング発話に対応するすべての出力信号のセットを指す。同様に、「第1の音響特徴」という用語は、第1の出力信号から決定された音響特徴のセットを指し、「第Gの音響特徴」という用語は、第Hの出力信号から決定された音響特徴のセットを指す。
【0196】
これらの例によれば、ブロック1330は、それぞれ、第1~第Kのユーザゾーンと第1~第Kの音響特徴との間の相関を作るために分類器モデルをトレーニングすることを含む。分類器モデルは、例えば、本明細書に開示される分類器モデルのいずれかであり得る。
【0197】
前述の例では、ユーザゾーンは(例えば、上記で説明したゾーンラベルC
kのうちの1つのゾーンラベルの対応するインスタンスにしたがって)ラベル付けされる。しかしながら、モデルは、特定の実装形態に応じて、ラベル付けされたユーザゾーンまたはラベル付けされていないユーザゾーンのいずれかにしたがってトレーニングされ得る。ラベル付けされている場合、各トレーニング発話は、例えば、以下のように、ユーザゾーンに対応するラベルと対にされ得る:
【数33】
【0198】
分類器モデルをトレーニングすることは、ラベル付けされたトレーニングデータに対する最良適合を決定することを含み得る。一般性を失うことなく、分類器モデルのための適切な分類手法には以下が含まれ得る:
・ 例えば、多変量正規分布、完全共分散ガウス混合モデル、または対角共分散ガウス混合モデルによって記述されるクラスごとの分布を有するベイズ分類器;
・ ベクトル量子化;
・ 最近傍(k平均);
・ 各クラスに対応する1つの出力を有するがSoftMax出力層を有するニューラルネットワーク;
・ サポートベクターマシン(SVM);および/または
・ 勾配ブースティングマシン(GBM)などのブースティング技術。
【0199】
ラベル付けされていない場合を実装する一例では、データは、K個のクラスタに自動的に分割され得、ここで、Kはまた、未知であり得る。ラベル付けされていない自動分割は、例えば、古典的なクラスタリング技法、例えば、k平均アルゴリズムまたはガウス混合モデリングを使用することによって実行され得る。
【0200】
ロバスト性を向上させるために、分類器モデルトレーニングに正則化が適用され得、モデルパラメータは、新しい発話が行われるにつれて経時的に更新され得る。
【0201】
次に、実施形態のさらなる態様を説明する。
【0202】
例示的な音響特徴セット(例えば、
図11の音響特徴1106A)は、ウェイクワード信頼度の尤度、最も信頼度の高いウェイクワードの推定持続時間にわたる平均受信レベル、および最も信頼度の高いウェイクワードの持続時間にわたる最大受信レベルを含み得る。特徴は、各ウェイクワード発話についてそれらの最大値に対して正規化され得る。トレーニングデータがラベル付けされ得、トレーニングラベルの期待値を最大化するように完全共分散ガウス混合モデル(GMM)がトレーニングされ得る。推定ゾーンは、事後確率を最大化するクラスであり得る。
【0203】
いくつかの実施形態の上記の説明は、プロンプトされた収集プロセス中に収集されたトレーニングデータのセットから音響ゾーンモデルを学習することについて議論する。そのモデルでは、トレーニング時間(または構成モード)およびランタイム(または通常モード)は、マイクロホンシステムが置かれ得る2つの別個のモードとみなされ得る。この方式の拡張は、音響ゾーンモデルの一部または全部がオンラインで(例えば、ランタイムにまたは通常モードで)学習または適応されるオンライン学習である。言い換えると、(例えば、
図10の方法1000にしたがって)ユーザが現在位置するユーザゾーンの推定を行うために分類器が「ランタイム」プロセスにおいて適用されている後であっても、いくつかの実装形態では、分類器をトレーニングするプロセスは継続し得る。
【0204】
図14は、
図1Aの装置200などの装置によって実行され得る方法の別の例を概説するフロー図である。方法1400のブロックは、本明細書で説明される他の方法と同様に、必ずしも示された順序で実行されるとは限らない。さらに、そのような方法は、図示および/または説明されるよりも多いまたは少ないブロックを含み得る。この実装形態では、方法1400は、環境内のユーザのロケーションを推定する「ランタイム」プロセス中の分類器の進行中のトレーニングを含む。方法1400は、本明細書でオンライン学習モードと呼ばれるものの一例である。
【0205】
この例では、方法1400のブロック1405は、方法1000のブロック1005~1020に対応する。ここで、ブロック1405は、分類器からの出力に少なくとも部分的に基づいて、ユーザが現在位置するユーザゾーンの推定値を提供することを含む。この実装形態によれば、ブロック1410は、ブロック1405の推定値に関する暗黙的または明示的なフィードバックを取得することを含む。ブロック1415において、分類器は、ブロック1405において受信されたフィードバックにしたがって更新される。ブロック1415は、例えば、1つまたは複数の強化学習方法を含み得る。ブロック1415からブロック1405への破線矢印によって示唆されるように、いくつかの実装形態では、方法1400は、ブロック1405に戻ることを含み得る。例えば、方法1400は、更新されたモデルを適用することに基づいて、将来の時間にユーザが位置するユーザゾーンの将来の推定値を提供することを含み得る。
【0206】
フィードバックを取得するための明示的な技法は、以下を含み得る:
・ 音声ユーザインターフェース(UI)を使用して、予測が正しかったかどうかをユーザに尋ねること。例えば、以下を示す音がユーザに提供され得る:「ソファに座っていると思うので、「正しい」または「間違っている」と言ってください」。
・ 音声UIを使用して、誤った予測をいつでも訂正することができることをユーザに通知すること(例えば、以下を示す音がユーザに提供され得る:「私に話しかけたときにあなたがどこにいるかを予測することができるようになりました。もし予測が間違っていた場合は、「アマンダ、私はソファには座っていません。リーディングチェアに腰かけています」のようなことを言ってください)。
・ 音声UIを使用して、正しい予測にいつでも報酬を与えることができることをユーザに通知すること(例えば、以下を示す音がユーザに提供され得る:「私に話しかけたときにあなたがどこにいるかを予測することができるようになりました。もし予測が正しい場合、「アマンダ、その通りです。私はソファに座っています。」のようなことを言って、私の予測をさらに向上させる手伝いをしてください)。
・ フィードバックを与えるためにユーザが操作することができる物理ボタンまたは他のUI要素(例えば、物理デバイス上またはスマートフォンアプリ内のサムズアップおよび/またはサムズダウンボタン)を含むこと。
【0207】
ユーザが位置するユーザゾーンを予測することの目標は、例えば、ウェイクワードに続くコマンドをより良く認識するために、ユーザの音響ゾーンから音をより効果的にピックアップすることを試みるマイクロホン選択または適応ビームフォーミング方式を通知することであり得る。そのようなシナリオでは、ゾーン予測の品質に関するフィードバックを取得するための暗黙的な技法は、以下を含み得る:
・ ウェイクワードに続くコマンドの誤認識をもたらす予測にペナルティを科すこと。誤認識を示し得るプロキシは、ユーザが、例えば、「アマンダ、ストップ!」のようなカウンターコマンドを発話することによって、コマンドに対する音声アシスタントの応答を遮ることを含み得る;
・ 音声認識器がコマンドの認識に成功したこと信頼度が低い予測にペナルティを科すこと。多くの自動音声認識システムは、この目的のために使用することができるそれらの結果と共に信頼レベルを返す能力を有する;
・ 第2パスのウェイクワード検出器がウェイクワードを高い信頼度で遡及的に検出することができないという結果をもたらす予測にペナルティを科すこと;および/または
・ ウェイクワードの非常に自信のある認識および/またはユーザのコマンドの正しい認識をもたらす予測を強化すること。
【0208】
以下は、第2パスのウェイクワード検出器がウェイクワードを高い信頼度で遡及的に検出することができない例である。環境内のマイクロホンから現在の発話に対応する出力信号を取得した後、かつ(例えば、マイクロホンと通信するように構成された複数の第1パスのウェイクワード検出器を介して)出力信号に基づいて音響特徴を決定した後、音響特徴が分類器に与えられると仮定する。言い換えると、音響特徴は、検出されたウェイクワード発話に対応すると推定される。さらに、現在の発話を行った人が、この例ではリーディングチェアに対応するゾーン3にいる可能性が最も高いと分類器が決定したと仮定する。例えば、音声コマンド認識のためにクラウドベースの仮想アシスタントサービスに送るために、例えば、人がゾーン3にいるときに人の声を聞くのに最良であることが知られている特定のマイクロホンまたはマイクロホンの学習された組合せが存在し得る。
【0209】
さらに、どのマイクロホン(複数可)が音声認識に使用されることになるかを決定した後ではあるが、人の音声が仮想アシスタントサービスに実際に送られる前に、第2パスのウェイクワード検出器が、コマンド認識のためにサブミットしようとしているゾーン3のための選択されたマイクロホン(複数可)によって検出された音声に対応するマイクロホン信号に対して動作すると仮定する。その第2パスのウェイクワード検出器が、ウェイクワードが実際に発せられた複数の第1パスのウェイクワード検出器と一致しない場合、それはおそらく、分類器がゾーンを誤って予測したためである。したがって、この分類器にペナルティが科されるべきである。
【0210】
1つまたは複数のウェイクワードが話された後のゾーンマッピングモデルを事後更新するための技法は、以下を含み得る。
・ ガウス混合モデル(GMM)または最近傍モデルの最大事後確率(MAP)適応;および/または
・ 例えば、適切な「one-hot」(正しい予測の場合)または「one-cold」(誤った予測の場合)グラウンドトゥルースラベルをSoftMax出力と関連付け、オンライン逆伝搬を適用して新しいネットワーク重みを決定することによる、例えばニューラルネットワークの強化学習。
【0211】
このコンテキストにおけるMAP適応のいくつかの例は、ウェイクワードが話されるたびにGMM中の平均を調整することを含み得る。このようにして、平均は、後続のウェイクワードが話されるときに観察される音響特徴により近くなり得る。代替的または追加的に、そのような例は、ウェイクワードが話されるたびにGMM中の分散/共分散または混合重み情報を調整することを含んでもよい。
【0212】
例えば、MAP適応スキームは、次の通りであり得る:
【数34】
【0213】
上記の式において、μi,oldは、混合におけるi番目のガウシアンの平均を表し、αは、MAP適応がどの程度積極的に行われるべきかを制御するパラメータを表し(αは、[0.9,0.999]の範囲内であり得る)、xは、新しいウェイクワード発話の特徴ベクトルを表す。インデックス「i」は、ウェイクワード時におけるスピーカのロケーションを含む最も高い先験的確率を返す混合要素に対応する。
【0214】
代替的に、混合要素の各々は、例えば次のように、ウェイクワードを含むそれらの先験的確率にしたがって調整されてもよい。
【数35】
【0215】
上記の式において、βi=α*(1-P(i))であり、ここで、P(i)は、観測値xが混合要素iによるものである先験的確率を表す。
【0216】
1つの強化学習の例では、3つのユーザゾーンが存在し得る。特定のウェイクワードについて、モデルは、3つのユーザゾーンについて確率を[0.2,0.1,0.7]であると予測すると仮定する。第2の情報源(例えば、第2パスのウェイクワード検出器)が、第3のゾーンが正しかったことを確認した場合、グラウンドトゥルースラベルは[0,0,1](「one hot」)となり得る。ゾーンマッピングモデルの事後更新は、ニューラルネットワークを介して誤差を逆伝播することを含み得、事実上、同じ入力が再び示された場合にニューラルネットワークがゾーン3をより強く予測することを意味する。逆に、第2の情報源が、ゾーン3が不正確な予測であったことを示す場合、グラウンドトゥルースラベルは、一例では[0.5、0.5、0.0]となり得る。ニューラルネットワークを介して誤差を逆伝播することで、将来同じ入力が示された場合に、モデルがゾーン3を予測しにくくするであろう。
【0217】
コスト関数の最適化を含むオーディオ処理変更のさらなる例
本明細書の他の箇所で述べたように、開示される様々な例では、1つまたは複数のタイプのオーディオ処理変更は、コスト関数の最適化に基づき得る。いくつかのそのような例は、フレキシブルレンダリングを含む。
【0218】
フレキシブルレンダリングにより、空間オーディオを、任意の数の任意に配置されたスピーカにわたってレンダリングすることができる。限定はしないが、家のスマートオーディオデバイス(例えば、スマートスピーカ)を含むオーディオデバイスの広範な展開を考慮すると、消費者製品がオーディオのフレキシブルレンダリングと、そのようにレンダリングされたオーディオの再生とを実行することを可能にするフレキシブルレンダリング技術を実現する必要がある。
【0219】
フレキシブルレンダリングを実装するために、いくつかの技術が開発されている。それらは、コスト関数最小化のうちの1つとしてレンダリング問題を投じており、コスト関数は、レンダラが達成しようとしている所望の空間印象をモデル化する第1の項と、コストをスピーカのアクティブ化に割り当てる第2の項という2つの項から構成される。今まで、この第2の項は、レンダリングされているオーディオの所望の空間位置にごく近接したスピーカのみがアクティブ化される、疎な解を作成することに焦点を当ててきた。
【0220】
消費者環境における空間オーディオの再生は、典型的には、所定位置に配置された所定数のラウドスピーカ、例えば5.1および7.1サラウンドサウンドに結び付けられている。これらの場合、コンテンツは、特に、関連するラウドスピーカのためにオーサリングされ、ラウドスピーカごとに1つの離散チャネルとして符号化される(例えば、Dolby Digital、またはDolby Digital Plusなど)。より最近では、コンテンツと特定のラウドスピーカロケーションとの間のこの関連付けを断ち切る没入型のオブジェクトベースの空間オーディオフォーマット(Dolby Atmos)が導入されている。代わりに、コンテンツは、個々のオーディオオブジェクトの集合として記述されてもよく、各オーディオオブジェクトは、三次元空間における該オーディオオブジェクトの所望の知覚ロケーションを記述する、時間変化する可能性のあるメタデータを有する。再生時、コンテンツは、再生システム中のラウドスピーカの数およびロケーションに適応するレンダラによってラウドスピーカフィードに変換される。しかしながら、多くのそのようなレンダラは、依然として、ラウドスピーカのセットのロケーションが所定のレイアウトのセット(例えば、Dolby Atmosの場合、3.1.2、5.1.2、7.1.4、9.1.6など)のうちの1つとなるように制約する。
【0221】
そのように制約されたレンダリングを超えて、任意の位置に配置された真に任意の数のラウドスピーカにわたってオブジェクトベースのオーディオがフレキシブルにレンダリングされることを可能にする方法を開発してきた。これらの方法は、レンダラが、リスニング空間内のラウドスピーカの数および物理的ロケーションの知識を有することを必要とする。そのようなシステムが平均的な消費者にとって実用的であるためには、ラウドスピーカを位置特定するための自動化された方法が望ましい。1つのそのような方法は、場合によってはラウドスピーカと同じ場所に配置された多数のマイクロホンの使用に依拠する。ラウドスピーカを通してオーディオ信号を再生し、マイクロホンで録音することによって、各ラウドスピーカとマイクロホンとの間の距離が推定される。続いて、これらの距離から、ラウドスピーカとマイクロホンの両方のロケーションが推定される。
【0222】
消費者空間におけるオブジェクトベースの空間オーディオの導入と同時に、Amazon Echo製品ラインなどのいわゆる「スマートスピーカ」が急速に採用されてきた。これらのデバイスの絶大な人気は、ワイヤレス接続性および統合音声インターフェース(例えば、AmazonのAlexa)によってもたらされる単純さと便利さとによるものであり得るが、これらのデバイスの音響能力は、一般に、特に空間オーディオに関して制限されている。ほとんどの場合、これらのデバイスは、モノまたはステレオ再生に制約される。しかしながら、前述のフレキシブルレンダリングおよび自動位置特定技術を複数のオーケストレーションされたスマートスピーカと組み合わせることで、非常に洗練された空間再生能力をもち、消費者によるセットアップが依然として極めて簡単なままであるシステムが得られ得る。消費者は、ワイヤレス接続性により、スピーカワイヤを引く必要がなく、都合のよい場所であればどこででも、必要な数のスピーカを配置することができ、内蔵マイクロホンを使用して、関連付けられたフレキシブルレンダラのためにスピーカを自動的に位置特定することができる。
【0223】
従来のフレキシブルレンダリングアルゴリズムは、特定の所望の知覚される空間印象を可能な限り厳密に達成するように設計される。オーケストレーションされたスマートスピーカのシステムでは、時には、この空間印象の維持は、最も重要なまたは所望される目的ではないことがある。例えば、誰かが統合音声アシスタントに同時に話しかけようとしている場合、検出された音声を含むマイクロホン信号の信号対ノイズ比および/または信号対エコー比(SER)を増加させるために、特定のマイクロホンの近くのスピーカ上の相対的な再生レベルを低減する方法で空間レンダリングを瞬間的に変更することが望まれ得る。本明細書に説明されるいくつかの実施形態は、例えば、1つまたは複数の追加の目的を達成する目的で、空間レンダリングへのそのような動的修正を可能にするように、既存のフレキシブルレンダリング方法への修正として実装され得る。
【0224】
既存のフレキシブルレンダリング技法は、CMAP(Center of Mass Amplitude Panning)およびFV(Flexible Virtualization)を含む。大まかに言えば、これらの技法はいずれも、2つ以上のスピーカのセット上での再生のために、関連付けられた所望の知覚空間位置を各々有する1つまたは複数のオーディオ信号のセットをレンダリングし、セットのスピーカの相対的なアクティブ化は、スピーカ上で再生される上記オーディオ信号の知覚空間位置のモデルと、スピーカの位置に対するオーディオ信号の所望の知覚空間位置の近接性との関数である。モデルは、オーディオ信号が意図された空間位置の近くでリスナによって聞き取られることを保証し、近接項(proximity term)は、この空間印象を達成するためにどのスピーカが使用されるかを制御する。特に、近接項は、オーディオ信号の所望の知覚空間位置の近くにあるスピーカのアクティブ化を支持する(favor)。CMAPおよびFVの両方について、この関数関係は、空間アスペクトについての項と近接性についての項という2つの項の和として書かれる以下のコスト関数から都合よく導出される:
【数36】
ここで、セット
【数37】
は、M個のラウドスピーカのセットの位置を示し、
【数38】
は、オーディオ信号の所望の知覚空間位置を示し、gは、スピーカアクティブ化のM次元ベクトルを示す。CMAPの場合、ベクトルにおける各アクティブ化はスピーカごとの利得を表し、FVの場合、各アクティブ化はフィルタを表す(この第2のケースでは、gは等価的に、特定の周波数における複素数値のベクトルとみなされ得、フィルタを形成するために複数の周波数にわたって異なるgが計算される)。アクティブ化にわたるコスト関数を最小化することによってアクティブ化の最適なベクトルを見つける。
【数39】
【0225】
コスト関数の特定の定義では、g
optsの成分間の相対レベルは適切であるが、上記の最小化の結果得られる最適なアクティブ化の絶対レベルを制御することは困難である。この問題に対処するために、g
optの後続の正規化を実行して、アクティブ化の絶対レベルを制御し得る。例えば、単位長を有するようにベクトルを正規化することが望ましい場合があり、これは、一般に使用される低電力パンニング規則に従う:
【数40】
【0226】
フレキシブルレンダリングアルゴリズムの正確な挙動は、コスト関数の2つの項C
spatialおよびC
proximityの特定の構築によって決定される。CMAPの場合、C
spatialは、ラウドスピーカのセットから再生されるオーディオ信号の知覚空間位置を、それらの関連するアクティブ化利得g
i(ベクトルgの要素)によって重み付けされたそれらのラウドスピーカの位置の質量中心に配置するモデルから導出される:
【数41】
次に、式19は、所望のオーディオ位置とアクティブ化されたラウドスピーカによって生成された位置との間の二乗誤差を表す空間コストに操作される:
【数42】
FVでは、コスト関数の空間項は異なるように定義される。ここでの目標は、リスナの左右の耳におけるオーディオオブジェクト位置
【数43】
に対応するバイノーラル応答bを生成することである。概念的に、bは、フィルタ(各耳に対して1つのフィルタ)の2×1ベクトルであるが、特定の周波数における複素数値の2×1ベクトルとして扱う方がより都合がよい。特定の周波数におけるこの表現を進めると、所望のバイノーラル応答は、オブジェクト位置によってインデックス付けされたHRTFのセットから取り出され得る:
【数44】
同時に、ラウドスピーカによってリスナの耳で生成される2×1バイノーラル応答eは、複素スピーカアクティブ化値のMx1ベクトルgを乗じた2xM音響伝達行列Hとしてモデル化される:
【数45】
音響伝達行列Hは、リスナ位置に対するラウドスピーカ位置のセット
【数46】
に基づいてモデル化される。最後に、コスト関数の空間成分は、所望のバイノーラル応答(式5)とラウドスピーカによって生成されるバイノーラル応答(式6)との間の二乗誤差として定義される:
【数47】
便宜上、式4および式7において定義されたCMAPおよびFVのためのコスト関数の空間項は、両方とも、スピーカアクティブ化gの関数として行列二次方程式(matrix quadratic)に並び替えられ得る:
【数48】
ここで、AはM×M正方行列であり、Bは1×Mベクトルであり、Cはスカラである。行列Aはランク2であり、したがって、M>2であるとき、空間誤差項がゼロに等しい無限数のスピーカアクティブ化gが存在する。コスト関数の第2項C
proximityを導入することにより、この不確定性が除去され、他の可能な解と比較して知覚的に有益なプロパティを有する特定の解が得られる。CMAPとFVの両方について、C
proximityは、位置
【数49】
が所望のオーディオ信号位置
【数50】
から離れているスピーカのアクティブ化に、位置が所望の位置に近いスピーカのアクティブ化よりもペナルティが科されるように構築される。この構築により、所望のオーディオ信号の位置に近接したスピーカのみが有意にアクティブ化される、疎なスピーカアクティブ化の最適なセットが得られ、実際には、スピーカのセット周辺でのリスナの動きに対して知覚的によりロバストなオーディオ信号の空間再生をもたらす。
【0227】
この目的のために、コスト関数の第2項C
proximityは、スピーカアクティブ化の絶対値二乗の距離加重和として定義され得る。これは、以下のように行列形式でコンパクトに表される:
【数51】
ここで、Dは、所望のオーディオ位置と各スピーカとの間の距離ペナルティの対角行列である:
【数52】
距離ペナルティ関数は、多くの形をとることができるが、有用なパラメータ化は以下の通りである:
【数53】
ここで、
【数54】
は、所望のオーディオ位置とスピーカ位置との間のユークリッド距離であり、αおよびβは調整可能なパラメータである。パラメータαは、ペナルティの全体的な強さを示し、d
0は、距離ペナルティの空間的広がりに対応し(d
0付近のまたはさらに離れた距離にあるラウドスピーカはペナルティを科される)、βは、距離d
0におけるペナルティのオンセットの急激さを考慮する。
【0228】
式8および9aで定義されたコスト関数の2つの項を組み合わせると、全体のコスト関数が得られる:
【数55】
【0229】
gに関するこのコスト関数の導関数をゼロに等しく設定し、gについて解くことで、最適なスピーカアクティブ化解が得られる:
【数56】
【0230】
一般に、式27の最適解は、負の値を有するスピーカアクティブ化をもたらし得る。フレキシブルレンダラのCMAP構築の場合、そのような負のアクティブ化は望ましくないことがあるので、式27は、すべてのアクティブ化が正のままであることを条件として最小化され得る。
【0231】
図15および
図16は、スピーカアクティブ化およびオブジェクトレンダリング位置の例示的なセットを示す図である。これらの例では、スピーカアクティブ化およびオブジェクトレンダリング位置は、4、64、165、-87、および-4度のスピーカ位置に対応する。
図15は、スピーカアクティブ化1505a、1510a、1515a、1520aおよび1525aを示しており、これらは、これらの特定のスピーカ位置についての式11の最適解を含む。
図16は、個々のスピーカ位置をドット1605、1610、1615、1620、および1625としてプロットしており、これらはそれぞれ、スピーカアクティブ化1505a、1510a、1515a、1520a、および1525aに対応する。
図16はまた、多数の可能なオブジェクト角度についての理想的なオブジェクト位置(言い換えると、オーディオオブジェクトがレンダリングされるべき位置)をドット1630aとして示し、それらのオブジェクトについての対応する実際のレンダリング位置を、点線1640aによって理想的なオブジェクト位置に接続されたドット1635aとして示す。
【0232】
ある類の実施形態は、複数の調整された(オーケストレーションされた)スマートオーディオデバイスのうちの少なくとも1つ(例えば、全部または一部)による再生のためにオーディオをレンダリングするための方法を含む。例えば、ユーザの家に(システム内に)存在するスマートオーディオデバイスのセットは、スマートオーディオデバイスのすべてまたはいくつかによる(すなわち、スマートオーディオデバイスのすべてまたはいくつかのスマートオーディオデバイスのスピーカ(複数可)による)再生のためのオーディオの(一実施形態による)フレキシブルレンダリングを含む、様々な同時ユースケースを処理するようにオーケストレーションされ得る。レンダリングに対する動的な修正を必要とする、システムとの多くの対話が考えられる。そのような修正は、空間的な忠実性に焦点を当てるものであり得るが、必ずしもそうであるとは限らない。
【0233】
いくつかの実施形態は、スマートオーディオデバイスのセットのスマートオーディオデバイスのうちの少なくとも1つ(例えば、すべてまたはいくつか)による再生のための(またはスピーカの別のセットのスピーカのうちの少なくとも1つ(例えば、すべてまたはいくつか)による再生のための)オーディオをレンダリングするための方法である。レンダリングは、コスト関数の最小化を含み得、コスト関数は、少なくとも1つの動的スピーカアクティブ化項を含む。そのような動的スピーカアクティブ化項の例には、(限定はしないが)以下が含まれる:
・ 1人以上のリスナに対するスピーカの近接性;
・ 引力または反発力に対するスピーカの近接性;
・ あるロケーション(例えば、リスナ位置またはベビールーム)に対するスピーカの可聴性;
・ スピーカの能力(例えば、周波数応答および歪み);
・ 他のスピーカに対するスピーカの同期性;
・ ウェイクワード性能;
・ エコーキャンセラ性能。
【0234】
動的スピーカアクティブ化項(複数可)は、そのマイクロホンがトーカをよりよく聞き取ることができるように、またはスマートオーディオデバイスのスピーカ(複数可)が副オーディオストリームをよりよく聞き取り得るように、特定のスマートオーディオデバイスから離れるようにオーディオの空間的提示をワープすることを含む、様々な挙動のうちの少なくとも1つを可能にし得る。
【0235】
いくつかの実施形態は、調整された(オーケストレーションされた)複数のスマートオーディオデバイスのスピーカ(複数可)による再生のためのレンダリングを実装する。他の実施形態は、スピーカの別のセットのスピーカ(複数可)による再生のためのレンダリングを実装する。
【0236】
フレキシブルレンダリング方法(いくつかの実施形態にしたがって実装される)をワイヤレススマートスピーカ(または他のスマートオーディオデバイス)のセットとペアリングすることで、極めて能力が高く使いやすい空間オーディオレンダリングシステムを得ることができる。このようなシステムとの対話を考えると、システムの使用中に生じ得る他の目的に対して最適化するために、空間レンダリングに対する動的な修正が望ましい場合があることが明らかになる。この目標を達成するために、ある類の実施形態は、レンダリングされているオーディオ信号、スピーカのセット、および/または他の外部入力の1つまたは複数のプロパティに依存する1つまたは複数の追加の動的に構成可能な機能を用いて、既存のフレキシブルレンダリングアルゴリズム(スピーカアクティブ化が前に開示された空間項および近接項の関数である)を増強する。いくつかの実施形態によれば、式1で与えられる既存のフレキシブルレンダリングのコスト関数は、以下の式にしたがって、これらの1つまたは複数の追加の依存性を用いて増強される:
【数57】
【0237】
式28において、項
【数58】
は、追加のコスト項を表し、ここで、
【数59】
は、レンダリングされている(例えばオブジェクトベースのオーディオプログラムの)オーディオ信号の1つまたは複数のプロパティのセットを表し、
【数60】
は、オーディオがレンダリングされているスピーカの1つまたは複数のプロパティのセットを表し、
【数61】
は1つまたは複数の追加の外部入力を表す。各項
【数62】
は、一般的にセット
【数63】
で表される、オーディオ信号、スピーカ、および/または外部入力の1つまたは複数のプロパティの組合せに関係するアクティブ化の関数gとしてコストを返す。セット
【数64】
は、少なくとも、
【数65】
のいずれかからの1つの要素のみを含むことを理解されたい。
【0238】
【数66】
の例としては、以下のようなものが挙げられるが、これらに限定されるものではない:
・ オーディオ信号の所望の知覚空間位置;
・ オーディオ信号のレベル(時間変化する可能性がある);および/または
・ オーディオ信号のスペクトル(場合によっては時間変化する)。
【0239】
【数67】
の例としては、以下のようなものが挙げられるが、これらに限定されるものではない:
・ リスニング空間におけるラウドスピーカのロケーション;
・ ラウドスピーカの周波数応答;
・ ラウドスピーカの再生レベル制限;
・ リミッタ利得などの、スピーカ内の動的処理アルゴリズムのパラメータ;
・ 各スピーカから他のスピーカへの音響伝達の測定値または推定値;
・ スピーカのエコーキャンセラ性能の尺度;および/または
・ スピーカ同士の相対的な同期性。
【0240】
【数68】
の例としては、以下のようなものが挙げられるが、これらに限定されるものではない:
・ 再生空間内の1人以上のリスナまたはトーカのロケーション;
・ 各ラウドスピーカからリスニングロケーションへの音響伝達の測定値または推定値;
・ トーカからラウドスピーカのセットへの音響伝達の測定値または推定値;
・ 再生空間内の何らかの他のランドマークのロケーション;および/または
・ 再生空間内の各スピーカから何らかの他のランドマークへの音響伝達の測定値または推定値。
【0241】
式28において定義された新しいコスト関数を用いると、式28aおよび28bにおいて前に指定されたようなgに関する最小化および可能な事後正規化により、アクティブ化の最適なセットを見つけることができる。
【0242】
いくつかの例では、コスト項C
jのうちの1つまたは複数は、
図6のダッキングモジュール400のようなダッキングモジュールによって、
【数69】
またはそれらの組合せの関数として決定され得る。いくつかのそのような例では、レンダラに提供されるダッキング解480は、そのような項のうちの1つまたは複数を含み得る。他の例では、そのような項のうちの1つまたは複数は、レンダラによって決定され得る。いくつかのそのような例では、そのような項のうちの1つまたは複数は、ダッキング解480に応答してレンダラによって決定され得る。いくつかの例によれば、そのような項のうちの1つまたは複数は、
図8の方法800などの反復プロセスにしたがって決定され得る。
【0243】
図17は、
図1Aに示されるものなどの装置またはシステムによって実行され得る方法の一例を概説するフロー図である。方法1700のブロックは、本明細書で説明される他の方法と同様に、必ずしも示された順序で実行されるとは限らない。さらに、そのような方法は、図示および/または説明されるよりも多いまたは少ないブロックを含み得る。方法1700のブロックは、
図1Aに示される制御システム160などの制御システムであり得る(またはそれを含み得る)1つまたは複数のデバイスによって実行され得る。
【0244】
この実装形態では、ブロック1705は、制御システムによって、インターフェースシステムを介して、オーディオデータを受信することを含む。この例では、オーディオデータは、1つまたは複数のオーディオ信号および関連付けられた空間データを含む。この実装形態によれば、空間データは、オーディオ信号に対応する意図された知覚空間位置を示す。いくつかの事例では、意図された知覚空間位置は、例えばDolby Atmos位置メタデータなどの位置メタデータによって示されるように、明示的であってもよい。他の例では、意図された知覚空間位置は暗黙的であってもよく、例えば、意図された知覚空間位置は、Dolby5.1、Dolby7.1または別のチャネルベースのオーディオフォーマットにしたがったチャネルに関連付けられた想定ロケーションであってもよい。いくつかの例では、ブロック1705は、制御システムのレンダリングモジュールが、インターフェースシステムを介してオーディオデータを受信することを含む。
【0245】
この例によれば、ブロック1710は、レンダリングされたオーディオ信号を生成するために、制御システムによって、環境のラウドスピーカのセットを介した再生のためにオーディオデータをレンダリングすることを含む。この例では、オーディオデータ中に含まれる1つまたは複数のオーディオ信号の各々をレンダリングすることは、コスト関数を最適化することによって環境内のラウドスピーカのセットの相対的なアクティブ化を決定することを含む。この例によれば、コストは、環境内のラウドスピーカのセット上で再生されるときのオーディオ信号の知覚空間位置のモデルの関数である。この例では、コストはまた、ラウドスピーカのセットの各ラウドスピーカの位置に対するオーディオ信号の意図された知覚空間位置の近接性の尺度の関数である。この実装形態では、コストは、1つまたは複数の追加の動的に構成可能な機能の関数でもある。この例では、動的に構成可能な機能は、以下のうちの1つまたは複数に基づく:1人以上のリスナに対するラウドスピーカの近接性、引力位置に対するラウドスピーカの近接性(ここにおいて、引力は、引力位置に近接するほど比較的高いラウドスピーカアクティブ化を支持する要因である)、反発力位置に対するラウドスピーカの近接性(ここにおいて、反発力は、反発力位置に近接するほど比較的低いラウドスピーカアクティブ化を支持する要因である)、環境内の他のラウドスピーカに対する各ラウドスピーカの能力、他のラウドスピーカに対するラウドスピーカの同期性、ウェイクワード性能、またはエコーキャンセラ性能。
【0246】
この例では、ブロック1715は、インターフェースシステムを介して、レンダリングされたオーディオ信号を環境のラウドスピーカのセットの少なくともいくつかのラウドスピーカに提供することを含む。
【0247】
いくつかの例によれば、知覚空間位置のモデルは、リスナの左右の耳におけるオーディオオブジェクト位置に対応するバイノーラル応答を生成し得る。代替的または追加的に、知覚空間位置のモデルは、ラウドスピーカのセットから再生されるオーディオ信号の知覚空間位置を、ラウドスピーカの関連するアクティブ化利得によって重み付けされたラウドスピーカのセットの位置の重心に配置してもよい。
【0248】
いくつかの例では、1つまたは複数の追加の動的に構成可能な機能は、1つまたは複数のオーディオ信号のレベルに少なくとも部分的に基づき得る。いくつかの事例では、1つまたは複数の追加の動的に構成可能な機能は、1つまたは複数のオーディオ信号のスペクトルに少なくとも部分的に基づき得る。
【0249】
方法1700のいくつかの例は、ラウドスピーカレイアウト情報を受信することを含む。いくつかの例では、1つまたは複数の追加の動的に構成可能な機能は、環境内のラウドスピーカの各々のラウドスピーカのロケーションに少なくとも部分的に基づき得る。
【0250】
方法1700のいくつかの例は、ラウドスピーカ指定情報を受信することを含む。いくつかの例では、1つまたは複数の追加の動的に構成可能な機能は、周波数応答、再生レベル限界、または1つもしくは複数のラウドスピーカダイナミクス処理アルゴリズムのパラメータのうちの1つまたは複数を含み得る、各ラウドスピーカの能力に少なくとも部分的に基づき得る。
【0251】
いくつかの例によれば、1つまたは複数の追加の動的に構成可能な機能は、各ラウドスピーカから他のラウドスピーカへの音響伝達の測定値または推定値に少なくとも部分的に基づき得る。代替的または追加的に、1つまたは複数の追加の動的に構成可能な機能は、環境内の1人以上の人のリスナまたはスピーカロケーションに少なくとも部分的に基づいてもよい。代替的または追加的に、1つまたは複数の追加の動的に構成可能な機能は、各ラウドスピーカからリスナまたはスピーカロケーションへの音響伝達の測定値または推定値に少なくとも部分的に基づいてもよい。音響伝達の推定は、例えば、各ラウドスピーカとリスナまたはスピーカロケーションとの間に存在し得る壁、家具または他のオブジェクトに少なくとも部分的に基づき得る。
【0252】
代替的または追加的に、1つまたは複数の追加の動的に構成可能な機能は、環境内の1つまたは複数の非ラウドスピーカオブジェクトまたはランドマークのオブジェクトロケーションに少なくとも部分的に基づいてもよい。いくつかのそのような実装形態では、1つまたは複数の追加の動的に構成可能な機能は、各ラウドスピーカからオブジェクトロケーションまたはランドマークロケーションへの音響伝達の測定値または推定値に少なくとも部分的に基づき得る。
【0253】
フレキシブルレンダリングを実装するために1つまたは複数の適切に定義された追加のコスト項を採用することによって、多数の新しく有用な挙動が達成され得る。以下に列挙されるすべての例示的な挙動は、望ましくないと考えられる特定の条件下で特定のラウドスピーカにペナルティを科すという観点で示されている(cast)。結果として、オーディオ信号のセットの空間レンダリングにおいて、これらのラウドスピーカのアクティブ化は少なくなる。これらの場合の多くでは、空間レンダリングに対する任意の修正とは無関係に望ましくないラウドスピーカの音量を単に下げることが考えられ得るが、そのような戦略は、オーディオコンテンツの全体的なバランスを著しく低下させ得る。例えば、ミックスの特定の成分が完全に聞こえなくなる可能性がある。一方、開示される実施形態では、これらのペナルティをレンダリングのコア最適化に統合することにより、レンダリングが適応し、ペナルティのより少ない残りのスピーカを用いて、可能な限り最良の空間レンダリングを実行することができる。これは、はるかに洗練され、適応可能で、効果的な解決策である。
【0254】
ユースケースの例としては、以下のようなものが挙げられるが、これらに限定されるものではない:
・ リスニングエリアの周囲によりバランスのとれた空間的提示を提供すること
- 空間オーディオは、意図されたリスニングエリアからほぼ同じ距離にあるラウドスピーカにわたって最良に提示されることが分かっている。ラウドスピーカからリスニングエリアまでの平均距離よりも著しく近いまたは遠いラウドスピーカにペナルティが科されて、それらのアクティブ化が低減されるようにコストが構築され得る;
・ リスナまたはトーカから離れるようにまたは近づくようにオーディオを移動させること
- システムのユーザが、システムのまたはシステムに関連付けられたスマート音声アシスタントに話しかけようとする場合、トーカにより近いラウドスピーカにペナルティを科すコストを作成することが有益であり得る。このようにして、これらのラウドスピーカのアクティブ化が少なくなり、これにより、それらの関連付けられたマイクロホンは、トーカをよりよく聞き取ることができる;
- リスニング空間内の他の人に対する再生レベルを最小化する、より親密なエクスペリエンスを単一のリスナに提供するために、リスナのロケーションから遠いスピーカは、リスナに最も近いスピーカのみが最も有意にアクティブ化されるように、ペナルティが重く科され得る;
・ ランドマーク、ゾーン、またはエリアから離れるようにまたは近づくようにオーディオを移動させること
- ベビールーム、乳児のベッド、オフィス、読書エリア、学習エリアなど、リスニング空間の近くの特定のロケーションは敏感であるとみなされ得る。そのような場合、このロケーション、ゾーンまたはエリアに近いスピーカの使用にペナルティを科すコストが構築され得る。
- 代替的に、上記と同じ場合(または類似の場合)について、特にスピーカのうちの1つ(取り付けられたまたは関連付けられたマイクロホン付き)がベビールーム自体に存在する場合、スピーカのシステムは、各スピーカからベビールームの中への音響伝達の測定値を生成した可能性がある。この場合、ベビールームに対するスピーカの物理的近接性を使用するのではなく、このルームへの測定された音響伝達が高いスピーカの使用にペナルティを科すコストが構築され得る;および/または
・ スピーカの能力の最適な使用
- 異なるラウドスピーカの能力は、著しく変化し得る。例えば、1つの一般的なスマートスピーカは、低周波能力が制限された単一の1.6”フルレンジドライバのみを含む。一方、別のスマートスピーカは、はるかに能力の高い3”ウーファーを含む。これらの能力は、一般に、スピーカの周波数応答に反映され、したがって、スピーカに関連付けられた応答のセットは、コスト項において利用され得る。特定の周波数において、それらの周波数応答によって測定される能力が他のスピーカと比べて低いスピーカは、ペナルティを科され、したがって、アクティブ化の程度が低くなり得る。いくつかの実装形態では、そのような周波数応答値は、スマートラウドスピーカを用いて記憶され、次いで、フレキシブルレンダリングを最適化することを担う計算ユニットに報告され得る;
- 多くのスピーカは、それぞれが異なる周波数範囲を再生することを担う2つ以上のドライバを含む。例えば、1つの一般的なスマートスピーカは、より低い周波数のためのウーファーと、より高い周波数のためのツイーターとを含む双方向設計である。典型的には、そのようなスピーカは、全範囲再生オーディオ信号を適切な周波数範囲に分割し、それぞれのドライバに送信するためのクロスオーバ回路を含む。代替的に、そのようなスピーカは、各個別のドライバへのフレキシブルレンダラ再生アクセス、ならびに周波数応答など、各個別のドライバの能力に関する情報を提供してもよい。すぐ上で説明したようなコスト項を適用することによって、いくつかの例では、フレキシブルレンダラは、異なる周波数における相対的な能力に基づいて2つのドライバ間のクロスオーバを自動的に構築し得る;
- 周波数応答を使用する上記の例は、スピーカの固有の能力に焦点を当てるものであるが、リスニング環境に配置されたスピーカの能力を正確に反映しない場合がある。特定の場合、意図されたリスニング位置において測定されたスピーカの周波数応答は、何らかの較正手順を通じて利用可能であり得る。そのような測定値は、スピーカの使用をより良く最適化するために、事前計算された応答の代わりに使用され得る。例えば、特定のスピーカは、特定の周波数において本質的に非常に有能であり得るが、その配置(例えば、壁または家具の後ろ)のために、意図されたリスニング位置において非常に限られた応答を生成し得る。この応答をキャプチャし、適切なコスト項に供給される測定値は、そのようなスピーカの有意なアクティブ化を防止することができる;
- 周波数応答は、ラウドスピーカの再生能力の一側面にすぎない。多くの小型ラウドスピーカは、特に低周波数について、再生レベルが増加するにつれて、歪み始め、次いで、それらのエクスカーション限界に達する。そのような歪みを低減するために、多くのラウドスピーカは、再生レベルを、周波数にわたって可変であり得る何らかの限界しきい値未満に制約するダイナミクス処理を実装する。スピーカがこれらのしきい値の近くにあるかまたはこれらのしきい値にあり、フレキシブルレンダリングに参加している他のスピーカはそうではない場合、制限するスピーカにおける信号レベルを低減し、このエネルギーを他の負担の少ないスピーカに振り向けることは理にかなっている。そのような挙動は、関連するコスト項を適切に構成することによって、いくつかの実施形態にしたがって自動的に達成され得る。そのようなコスト項には、以下のうちの1つまたは複数が含まれ得る:
・ ラウドスピーカの限界しきい値に関連してグローバル再生音量を監視すること。例えば、音量レベルがその限界しきい値により近いラウドスピーカは、より多くのペナルティが科され得る;
・ 場合によっては周波数にわたって変化する動的信号レベルを、同じく場合によっては周波数にわたって変化するラウドスピーカ制限しきい値と関連付けながら監視すること。例えば、監視される信号レベルがその限界しきい値により近いラウドスピーカは、より多くのペナルティが科され得る;
・ 制限利得など、ラウドスピーカのダイナミクス処理のパラメータを直接監視すること。いくつかのそのような例では、パラメータがより多くの制限を示すラウドスピーカは、より多くのペナルティが科され得る;
・ ラウドスピーカが線形範囲内で動作しているかどうかを決定するために、増幅器によってラウドスピーカに供給されている実際の瞬間電圧、電流、および電力を監視すること。例えば、あまり線形的に動作していないラウドスピーカは、より多くのペナルティが科され得る;
- 一体化されたマイクロホンおよび対話型音声アシスタントを有するスマートスピーカは、典型的には、録音マイクロホンによってピックアップされる、スピーカから再生されるオーディオ信号のレベルを低減するために、何らかのタイプのエコーキャンセレーションを採用する。この低減が大きいほど、スピーカが空間内のトーカを聞き取り、理解する可能性が高くなる。エコーキャンセラの残差が一貫して高い場合、これは、エコー経路の予測が困難になる非線形領域にスピーカが駆動されていることの指示であり得る。そのような場合、信号エネルギーをスピーカから振り向けることは理にかなっている場合があり、したがって、エコーキャンセラ性能を考慮したコスト項が有益であり得る。そのようなコスト項は、その関連するエコーキャンセラの性能が低いスピーカに高コストを割り当てることができる;
- 複数のラウドスピーカにわたって空間オーディオをレンダリングするときに予測可能なイメージングを達成するために、ラウドスピーカのセットにわたる再生が時間にわたって適度に同期されることが一般に必要とされる。ワイヤードラウドスピーカの場合は当然のことであるが、多数のワイヤレスラウドスピーカでは、同期が困難である可能性があり、最終結果は可変であり得る。そのような場合、各ラウドスピーカが、目標との同期のその相対的な程度を報告することが可能であり得、次いで、この程度は、同期コスト項に反映され得る。いくつかのそのような例では、同期の程度がより低いラウドスピーカは、より多くのペナルティを科され、したがってレンダリングから除外され得る。追加的に、特定のタイプのオーディオ信号、例えば拡散または無指向性であることが意図されたオーディオミックスの成分については、厳密な同期は必要とされない場合がある。いくつかの実装形態では、成分は、そのようなものとしてメタデータでタグ付けされ得、同期コスト項は、ペナルティが低減されるように修正され得る。
【0255】
次に、実施形態の追加の例を説明する。式25aおよび25bにおいて定義された近接性コストと同様に、新しいコスト関数項
【数70】
の各々を、スピーカアクティブ化の絶対値二乗の加重和として、例えば以下のように表すことも便利であり得る:
【数71】
ここで、W
jは、項jについてスピーカiのアクティブ化に関連付けられたコストを記述する重み
【数72】
の対角行列である:
【数73】
【0256】
式29aおよび29bを、式26で与えられるCMAPおよびFVコスト関数の行列二次方程式バージョンと組み合わせることにより、式28で与えられる(いくつかの実施形態の)一般的な拡張コスト関数の潜在的に有益な実装が得られる:
【数74】
【0257】
新しいコスト関数項のこの定義を用いても、全体的なコスト関数は、行列二次方程式のままであり、式30の微分を通してアクティブ化の最適なセットg
optを求めて、次を得ることができる:
【数75】
【0258】
重み項w
ijの各々を、ラウドスピーカの各々について、所与の連続ペナルティ値
【数76】
の関数として考えることが有用である。ある例示的な実施形態では、このペナルティ値は、(レンダリングされるべき)オブジェクトから考慮されるラウドスピーカまでの距離である。別の例示的な実施形態では、このペナルティ値は、所与のラウドスピーカが一部周波数を再生することができないことを表す。このペナルティ値に基づいて、重み項w
ijを以下のようにパラメータ化することができる:
【数77】
ここで、α
jは、(重み項の全体的な強度を考慮する)前因子を表し、τ
jは、(重み項がその付近でまたはそれを超えると有意になる)ペナルティしきい値を表し、f
j(x)は、単調増加関数を表す。例えば、
【数78】
の場合、重み項は以下の形を有する:
【数79】
ここで、α
j、β
j、τ
jは、それぞれ、ペナルティの全体的な強さ、ペナルティのオンセットの急激さ、およびペナルティの程度を示す調整可能なパラメータである。これらの調整可能な値を設定する際には、C
spatialおよびC
proximityだけでなく、任意の他の追加のコスト項に対するコスト項C
jの相対的な効果が、所望の結果を達成するのに適切となるように、注意が払われるべきである。例えば、経験則として、特定のペナルティが他のペナルティを明らかに支配することを望む場合、その強度α
jを次に大きいペナルティ強度のおよそ10倍に設定することが適切であり得る。
【0259】
すべてのラウドスピーカがペナルティを科される場合、スピーカの少なくとも1つがペナルティを科されないように、後処理においてすべての重み項から最小ペナルティを減算することが便利であることが多い。
【数80】
【0260】
上述のように、本明細書で説明される新しいコスト関数項(および他の実施形態にしたがって採用される同様の新しいコスト関数項)を使用して実現され得る多くの可能なユースケースがある。次に、リスナまたはトーカに向かってオーディオを移動させること、リスナまたはトーカから離れるようにオーディオを移動させること、およびランドマークから離れるようにオーディオを移動させることという3つの例を用いて、より具体的な詳細を説明する。
【0261】
第1の例では、本明細書で「引力」と呼ばれるものが、いくつかの例では、リスナまたはトーカの位置、ランドマーク位置、家具位置などであり得る位置にオーディオを引き寄せるために使用される。この位置は、本明細書では「引力位置」または「アトラクタロケーション」と呼ばれることがある。本明細書で使用される場合、「引力」は、引力位置に近接するほど比較的高いラウドスピーカアクティブ化を支持する要因である。この例によれば、重みw
ijは、固定されたアトラクタロケーション
【数81】
からのi番目のスピーカの距離によって与えられる連続ペナルティ値p
ijと、すべてのスピーカにわたるこれらの距離の最大値によって与えられるとしきい値τ
jとを有する式17の形をとる:
【数82】
【0262】
リスナまたはトーカにオーディオを「引き寄せる」ユースケースを示すために、α
j=20、β
j=3と設定し、
【数83】
を180度のリスナ/トーカ位置(プロットの下部、中心)に対応するベクトルに具体的に設定し得る。α
j、β
j、および
【数84】
のこれらの値は単なる例である。いくつかの実装形態では、α
jは1~100の範囲内であり得、β
jは1~25の範囲内であり得る。
図18は、例示的な実施形態におけるスピーカアクティブ化のグラフである。この例では、
図18は、w
ijによって表される引力が加わった、
図15および
図16と同じスピーカ位置についてのコスト関数の最適解を含むスピーカアクティブ化1505b、1510b、1515b、1520bおよび1525bを示す。
図19は、例示的な実施形態におけるオブジェクトレンダリング位置のグラフである。この例では、
図19は、多数の可能なオブジェクト角度についての対応する理想的なオブジェクト位置1630bと、点線1640bによって理想的なオブジェクト位置1630bに接続された、それらのオブジェクトについての対応する実際のレンダリング位置1635bとを示す。固定位置
【数85】
に向かう実際のレンダリング位置1635bの斜めの向き(skewed orientation)は、コスト関数の最適解に対するアトラクタ重み付けの影響を示す。
【0263】
第2および第3の例では、人の位置(例えば、リスナ位置、トーカ位置など)、またはランドマーク位置、家具位置などの別の位置であり得る位置からオーディオを「遠ざける」ために「反発力」が使用される。いくつかの例では、反発力は、オフィスエリア、読書エリア、ベッドまたは寝室エリア(例えば、ベビーベッドまたは寝室)など、リスニング環境のエリアまたはゾーンからオーディオを遠ざけるために使用され得る。いくつかのそのような例によれば、特定の位置がゾーンまたはエリアを表すものとして使用され得る。例えば、ベビーベッドを表す位置は、乳児の頭部の推定位置、乳児に対応する推定音源ロケーションなどであり得る。この位置は、本明細書では「反発力位置」または「反発ロケーション」と呼ばれることがある。本明細書で使用される場合、「反発力」は、反発力位置に近接するほど比較的低いラウドスピーカアクティブ化を支持する要因である。この例によれば、式35aおよび35bの吸引力と同様に、固定された反発ロケーション
【数86】
に関してp
i,jおよびτ
jを定義する:
【数87】
【0264】
リスナまたはトーカからオーディオを遠ざけるユースケースを示すために、一例では、α
j=5、β
j=2と設定し、
【数88】
を180度のリスナ/トーカ位置(プロットの下部、中心)に対応するベクトルに具体的に設定し得る。α
j、β
j、および
【数89】
のこれらの値は単なる例である。上述のように、いくつかの例では、α
jは1~100の範囲内であり得、β
jは1~25の範囲内であり得る。
図20は、例示的な実施形態におけるスピーカアクティブ化のグラフである。この例によれば、
図20は、w
ijによって表される反発力が加わった、前の図と同じスピーカ位置についてのコスト関数の最適解を含むスピーカアクティブ化1505c、1510c、1515c、1520cおよび1525cを示す。
図21は、例示的な実施形態におけるオブジェクトレンダリング位置のグラフである。この例では、
図21は、多数の可能なオブジェクト角度についての理想的なオブジェクト位置1630cと、点線1640cによって理想的なオブジェクト位置1630cに接続された、それらのオブジェクトについての対応する実際のレンダリング位置1635cとを示す。固定位置
【数90】
から離れる実際のレンダリング位置1635の斜めの向きは、コスト関数の最適解に対するリペラ重み付けの影響を示す。
【0265】
第3の例示的なユースケースは、寝ている乳児の部屋のドアなど、音響的に敏感なランドマークからオーディオを「遠ざける」ことである。最後の例と同様に、
【数91】
を180度のドア位置に対応するベクトル(プロットの底部、中心)に設定する。より強い反発力を達成し、音場全体を一次リスニング空間の前方部分にスキューするために、α
j=20、β
j=5に設定する。
図22は、例示的な実施形態におけるスピーカアクティブ化のグラフである。この場合も同様に、この例では、
図22は、より強い反発力が加わった、同じスピーカ位置のセットの最適解を含むスピーカアクティブ化1505d、1510d、1515d、1520dおよび1525dを示す。
図23は、例示的な実施形態におけるオブジェクトレンダリング位置のグラフである。この場合も同様に、この例では、
図23は、多数の可能なオブジェクト角度についての理想的なオブジェクト位置1630dと、点線1640dによって理想的なオブジェクト位置1630dに接続された、それらのオブジェクトについての対応する実際のレンダリング位置1635dとを示す。実際のレンダリング位置1635dの斜めの向きは、コスト関数の最適解に対するより強いリペラ重み付けの影響を示す。
【0266】
図17の方法1700のさらなる例では、ユースケースは、ダッキングのための、またはダッキング解に対応する他のオーディオ処理のための、オーディオ環境内の2つ以上のオーディオデバイスの選択に応答すること、およびダッキング解に対応する2つ以上のオーディオデバイスにペナルティを適用することである。前の例によれば、2つ以上のオーディオデバイスの選択は、いくつかの実施形態では、オーディオデバイスi上でオーディオ処理変更が発生する程度を制御する無単位パラメータである値f
iの形態をとることができる。多くの組合せが可能である。1つの単純な例では、ダッキングの目的でオーディオデバイスiに割り当てられるペナルティは、w
ij=f
iとして直接選択され得る。いくつかの例では、そのような重みのうちの1つまたは複数は、
図6のダッキングモジュール400などのダッキングモジュールによって決定され得る。いくつかのそのような例では、レンダラに提供されるダッキング解480は、そのような重みのうちの1つまたは複数を含み得る。他の例では、これらの重みはレンダラによって決定され得る。いくつかのそのような例では、そのような重みのうちの1つまたは複数は、ダッキング解480に応答してレンダラによって決定され得る。いくつかの例によれば、そのような重みのうちの1つまたは複数は、
図8の方法800などの反復プロセスにしたがって決定され得る。
【0267】
重みを決定する前の例に加えて、いくつかの実装形態では、重みは、次のように決定され得る:
【数92】
【0268】
上記の式では、αj、βj、τjは、式33を参照して上記で説明したように、ペナルティの全体的な強さ、ペナルティのオンセットの急激さ、およびペナルティの程度をそれぞれ示す調整可能なパラメータを表す。
【0269】
前の例では、ダッキング解を記述する無単位パラメータf
iの代替として、オーディオデバイスiにおける音声対エコー比改善デシベルで直接表されるs
iも導入されていた。このように解を表すと、ペナルティを次のように決定することもできる:
【数93】
【0270】
ここで、fiは、dB項siを0から無限大までの範囲の値に変換することによって置き換えられている。siがますます負になるにつれて、ペナルティは増加し、それによって、デバイスiからのオーディオをより多く移動させる。
【0271】
いくつかの例(前の2つの式の例など)では、調整可能なパラメータα
j、β
j、τ
jのうちの1つまたは複数は、
図6のダッキングモジュール400などのダッキングモジュールによって決定され得る。いくつかのそのような例では、レンダラに提供されるダッキング解480は、そのような調整可能なパラメータのうちの1つまたは複数を含み得る。他の例では、1つまたは複数の調整可能なパラメータは、レンダラによって決定され得る。いくつかのそのような例では、1つまたは複数の調整可能なパラメータは、ダッキング解480に応答してレンダラによって決定され得る。いくつかの例によれば、そのような調整可能なパラメータのうちの1つまたは複数は、
図8の方法800などの反復プロセスにしたがって決定され得る。
【0272】
前述のダッキングペナルティは、複数の同時ユースケースから生じる複数のペナルティ条件の組合せの一部として理解され得る。例えば、オーディオは、式35c~dで説明されるようなペナルティを使用して、感度の高いランドマークから「遠ざけられる」ことができる一方で、決定側面によって決定されるような項fiまたはs1を使用してSERが改善されることが望ましいマイクロホンロケーションからも依然として「遠ざけられる」ことができる。
【0273】
いくつかの開示される実装形態の態様は、1つまたは複数の開示される方法を実行するように構成された(例えば、プログラムされた)システムまたはデバイスと、1つまたは複数の開示される方法またはそのステップを実装するためのコードを記憶する有形コンピュータ可読媒体(例えば、ディスク(disc))とを含む。例えば、システムは、ソフトウェアまたはファームウェアでプログラムされた、および/または別様に、1つまたは複数の開示される方法またはそのステップを含む様々な動作のいずれかをデータに対して実行するように構成された、プログラム可能な汎用プロセッサ、デジタルシグナルプロセッサ、またはマイクロプロセッサであるか、またはそれを含むことができる。そのような汎用プロセッサは、入力デバイスと、メモリと、それにアサートされたデータに応答して1つまたは複数の開示される方法(またはそのステップ)を実行するようにプログラムされた(および/または別様に構成された)処理サブシステムとを含む、コンピュータシステムであり得るか、またはそれを含み得る。
【0274】
いくつかの開示される実施形態は、1つまたは複数の開示される方法の実施を含む、オーディオ信号(複数可)に対して必要とされる処理を実行するように構成された(例えば、プログラムされたおよび別様に構成された)構成可能な(例えば、プログラム可能な)デジタルシグナルプロセッサ(DSP)として実装される。代替的に、いくつかの実施形態(またはその要素)は、1つまたは複数の開示される方法またはそのステップを含む様々な動作のいずれかを実行するように、ソフトウェアまたはファームウェアでプログラムされたおよび/または別様に構成された汎用プロセッサ(例えば、入力デバイスおよびメモリを含み得るパーソナルコンピュータ(PC)もしくは他のコンピュータシステムまたはマイクロプロセッサ)として実装され得る。代替的に、いくつかの開示される実施形態の要素は、1つまたは複数の開示される方法またはそのステップを実行するように構成された(例えば、プログラムされた)汎用プロセッサまたはDSPとして実装され、システムはまた、他の要素(例えば、1つまたは複数のラウドスピーカおよび/または1つまたは複数のマイクロホン)を含む。1つまたは複数の開示される方法またはそのステップを実行するように構成された汎用プロセッサは、典型的には、入力デバイス(例えば、マウスおよび/またはキーボード)、メモリ、およびディスプレイデバイスに結合されるであろう。
【0275】
いくつかの開示される実装形態の別の態様は、1つまたは複数の開示される方法またはそのステップの任意の実施形態を実行するためのコード(例えば、実行するように実行可能なコーダ)を記憶するコンピュータ可読媒体(例えば、ディスク(disc)または他の有形記憶媒体)である。
【0276】
本明細書には特定の実施形態および用途が記載されているが、本明細書に記載され、特許請求される材料の範囲から逸脱することなく、本明細書に記載される実施形態および用途に対する多くの変形が可能であることは、当業者には明らかであろう。特定の実装形態が示され、説明されたが、本開示は、説明され、示された特定の実施形態または説明された特定の方法に限定されるべきではないことを理解されたい。
【0277】
本発明の様々な態様は、以下の列挙された例示的な実施形態(EEE)から理解され得る。
【0278】
<EEE1>オーディオ処理方法であって、
制御システムによって、オーディオ環境内の1つまたは複数のマイクロホンから出力信号を受信するステップであって、出力信号は、人の現在の発話に対応する信号を含む、ステップと、
制御システムによって、出力信号に応答して、オーディオデバイスロケーション情報およびエコー管理システム情報に少なくとも部分的に基づいて、オーディオ環境内の2つ以上のオーディオデバイスのためのラウドスピーカフィード信号にレンダリングされているオーディオデータに適用すべき1つまたは複数のオーディオ処理変更を決定するステップであって、オーディオ処理変更は、オーディオ環境内の1つまたは複数のラウドスピーカのラウドスピーカ再生レベルの低減を含む、ステップと、
制御システムによって、1つまたは複数のタイプのオーディオ処理変更を適用させるステップと
を含む方法。
【0279】
<EEE2>1つまたは複数のタイプのオーディオ処理変更のうちの少なくとも1つは、信号対エコー比の増加に対応する、EEE1に記載の方法。
【0280】
<EEE3>エコー管理システム情報は、エコー管理システム性能のモデルを含む、EEE1またはEEE2に記載の方法。
【0281】
<EEE4>エコー管理システム性能のモデルは、音響エコーキャンセラ(AEC)性能行列を含む、EEE3に記載の方法。
【0282】
<EEE5>エコー管理システム性能のモデルは、エコー管理システムによって提供される予想エコーリターンロスエンハンスメントの尺度を含む、EEE3またはEEE4に記載の方法。
【0283】
<EEE6>1つまたは複数のタイプのオーディオ処理変更は、デバイス間エコーおよびデバイス内エコーの音響モデルに少なくとも部分的に基づく、EEE1から5のいずれか1つに記載の方法。
【0284】
<EEE7>1つまたは複数のタイプのオーディオ処理変更は、相互可聴性行列に少なくとも部分的に基づく、EEE1から6のいずれか1つに記載の方法。
【0285】
<EEE8>1つまたは複数のタイプのオーディオ処理変更は、人の推定ロケーションに少なくとも部分的に基づく、EEE1から7のいずれか1つに記載の方法。
【0286】
<EEE9>人の推定ロケーションは、オーディオ環境内の複数のマイクロホンからの出力信号に少なくとも部分的に基づく、EEE8に記載の方法。
【0287】
<EEE10>1つまたは複数のタイプのオーディオ処理変更は、人の推定ロケーションから離れるようにオーディオ信号のレンダリングをワープするためにレンダリングプロセスを変更することを含む、EEE8またはEEE9の方法。
【0288】
<EEE11>1つまたは複数のタイプのオーディオ処理変更は、リスニング目的に少なくとも部分的に基づく、EEE1から10のいずれか1つに記載の方法。
【0289】
<EEE12>リスニング目的は、空間成分または周波数成分のうちの少なくとも1つを含む、EEE11に記載の方法。
【0290】
<EEE13>1つまたは複数のタイプのオーディオ処理変更は、1つまたは複数の制約に少なくとも部分的に基づく、EEE1から12のいずれか1つに記載の方法。
【0291】
<EEE14>1つまたは複数の制約は知覚モデルに基づく、EEE13に記載の方法。
【0292】
<EEE15>1つまたは複数の制約は、オーディオコンテンツエネルギー保存、オーディオ空間性保存、オーディオエネルギーベクトル、または正則化制約のうちの1つまたは複数を含む、EEE13またはEEE14記載の方法。
【0293】
<EEE16>1つまたは複数のタイプのオーディオ処理変更を適用させた後に、オーディオ環境の音響モデルまたはエコー管理システム性能のモデルのうちの少なくとも1つを更新するステップをさらに含む、EEE1から15のいずれか1つに記載の方法。
【0294】
<EEE17>1つまたは複数のタイプのオーディオ処理変更を決定するステップは、コスト関数の最適化に基づく、EEE1から16のいずれか1つに記載の方法。
【0295】
<EEE18>1つまたは複数のタイプのオーディオ処理変更は、スペクトル修正を含む、EEE1から17のいずれか1つに記載の方法。
【0296】
<EEE19>スペクトル修正は、500Hzから3KHzの周波数帯域におけるオーディオデータのレベルを低減することを含む、EEE18に記載の方法。
【0297】
<EEE20>現在の発話は、ウェイクワード発話を含む、EEE1から19のいずれか1つに記載の方法。
【0298】
<EEE21>EEE1から20のいずれか1つに記載の方法を実行するように構成された装置。
【0299】
<EEE22>EEE1から20のいずれか1つに記載の方法を実行するよう構成されたシステム。
【0300】
<EEE23>ソフトウェアが記憶された1つまたは複数の非一時的媒体はであって、ソフトウェアは、EEE1から20のいずれか1つに記載の方法を実行するように1つまたは複数のデバイスを制御するための命令を含む、非一時的媒体。
【国際調査報告】