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

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

▶ 株式会社コトバデザインの特許一覧

特開2022-142038プログラム、方法、情報処理装置、及びシステム
<>
  • 特開-プログラム、方法、情報処理装置、及びシステム 図1
  • 特開-プログラム、方法、情報処理装置、及びシステム 図2
  • 特開-プログラム、方法、情報処理装置、及びシステム 図3
  • 特開-プログラム、方法、情報処理装置、及びシステム 図4
  • 特開-プログラム、方法、情報処理装置、及びシステム 図5
  • 特開-プログラム、方法、情報処理装置、及びシステム 図6
  • 特開-プログラム、方法、情報処理装置、及びシステム 図7
  • 特開-プログラム、方法、情報処理装置、及びシステム 図8
  • 特開-プログラム、方法、情報処理装置、及びシステム 図9
  • 特開-プログラム、方法、情報処理装置、及びシステム 図10
  • 特開-プログラム、方法、情報処理装置、及びシステム 図11
  • 特開-プログラム、方法、情報処理装置、及びシステム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022142038
(43)【公開日】2022-09-30
(54)【発明の名称】プログラム、方法、情報処理装置、及びシステム
(51)【国際特許分類】
   H04R 3/02 20060101AFI20220922BHJP
   H04M 1/58 20060101ALI20220922BHJP
   H04B 3/23 20060101ALI20220922BHJP
【FI】
H04R3/02
H04M1/58
H04B3/23
【審査請求】未請求
【請求項の数】28
【出願形態】OL
(21)【出願番号】P 2021041999
(22)【出願日】2021-03-16
(71)【出願人】
【識別番号】517303292
【氏名又は名称】株式会社コトバデザイン
(74)【代理人】
【識別番号】110002815
【氏名又は名称】IPTech弁理士法人
(72)【発明者】
【氏名】松田 繁樹
(72)【発明者】
【氏名】栄藤 稔
(72)【発明者】
【氏名】土田 正明
(72)【発明者】
【氏名】木村 敏宏
(72)【発明者】
【氏名】古谷 利昭
【テーマコード(参考)】
5D220
5K046
5K127
【Fターム(参考)】
5D220CC01
5D220CC06
5K046BB01
5K046CC29
5K046HH05
5K046HH59
5K046HH79
5K127AA03
5K127MA02
5K127MA05
(57)【要約】
【課題】同一音響空間内に存在する端末装置間で発生し得る音響ループを抑えること。
【解決手段】本開示のプログラムは、プロセッサと、メモリとを備えるコンピュータに実行させるためのプログラムである。プログラムは、プロセッサに、遠隔通信を実施する第1端末装置のマイクで受音された音声が、遠隔通信を実施する第2端末装置のスピーカから再生され、第1端末装置のマイクで再び受音される音響ループの発生の有無を検出するステップと、音響ループの発生を検出すると、第1端末装置を操作するステップとを実行させる。
【選択図】図3

【特許請求の範囲】
【請求項1】
プロセッサと、メモリとを備えるコンピュータに実行させるためのプログラムであって、前記プログラムは、前記プロセッサに、
遠隔通信を実施する第1端末装置のマイクで受音された音声が、前記遠隔通信を実施する第2端末装置のスピーカから再生され、前記第1端末装置のマイクで再び受音される音響ループの発生の有無を検出するステップと、
前記音響ループの発生を検出すると、前記第1端末装置を操作するステップと
を実行させるプログラム。
【請求項2】
前記第1端末装置のマイクで受音された音声が、前記第2端末装置のスピーカから再生され、前記第1端末装置のマイクで再び受音されるまでの伝達関数を推定するステップを前記プロセッサに実行させ、
前記検出するステップにおいて、前記伝達関数の形状に基づいて前記音響ループの発生の有無を検出する請求項1記載のプログラム。
【請求項3】
前記推定するステップにおいて、前記伝達関数を、前記第1端末装置のマイクからの信号に畳み込んで疑似信号を生成し、
前記検出するステップにおいて、前記疑似信号のパワー、又は前記疑似信号の形状に基づいて音響ループの発生の有無を検出する請求項2記載のプログラム。
【請求項4】
前記第1端末装置のマイクで受音された音声が、前記第2端末装置のスピーカから再生され、前記第1端末装置のマイクで再び受音される信号を疑似的に生成するステップを前記プロセッサに実行させ、
前記検出するステップにおいて、前記疑似信号のパワー、又は前記疑似信号の形状に基づいて前記音響ループの発生の有無を検出する請求項1記載のプログラム。
【請求項5】
前記操作するステップにおいて、前記第1端末装置のスピーカへ送信する音声のボリュームダウンを操作し、かつ、前記第1端末装置のマイクに到来する音声が後段へ伝わらなくなる操作をする請求項1乃至4のいずれかに記載のプログラム。
【請求項6】
前記操作するステップにおいて、前記第1端末装置のスピーカへ送信する音声のボリュームダウンを操作し、かつ、前記第1端末装置のマイクに到来する音声が後段へ伝わらなくなる操作をする提案をユーザに提示する請求項1乃至5のいずれかに記載のプログラム。
【請求項7】
前記検出するステップにおいて、音響ループの解消の有無を検出し、
前記操作するステップにおいて、音響ループの解消を検出すると、前記第1端末装置を操作する請求項1乃至6のいずれかに記載のプログラム。
【請求項8】
前記操作するステップにおいて、前記第1端末装置のスピーカへ送信する音声のボリュームダウンの操作を解除し、かつ、前記第1端末装置のマイクに到来する音声が後段へ伝わらなくなる操作を解除する請求項7記載のプログラム。
【請求項9】
前記操作するステップにおいて、前記第1端末装置のスピーカの出力は、前記音響ループの発生前よりも小さく、前記第1端末装置のマイクの感度は、前記音響ループの発生前よりも低い請求項8記載のプログラム。
【請求項10】
前記操作するステップにおいて、前記第1端末装置へ送信する音声のボリュームダウンの操作を解除し、かつ、前記第1端末装置のマイクに到来する音声が後段へ伝わらなくなる操作を解除する提案をユーザに提示する請求項7乃至9のいずれかに記載のプログラム。
【請求項11】
前記第1端末装置からの音声信号と、前記第2端末装置からの音声信号とに基づき、前記第1端末装置と、前記第2端末装置とが同一音響空間に存在するか否かを判断するステップを前記プロセッサに実行させ、
前記検出するステップにおいて、前記第1端末装置と前記第2端末装置とが前記同一音響空間に存在していない場合、前記音響ループは発生していないと判断する請求項1乃至10のいずれかに記載のプログラム。
【請求項12】
プロセッサと、メモリとを備えるコンピュータが実行する方法であって、
遠隔通信を実施する第1端末装置のマイクで受音された音声が、前記遠隔通信を実施する第2端末装置のスピーカから再生され、前記第1端末装置のマイクで再び受音される音響ループの発生の有無を検出するステップと、
前記音響ループの発生を検出すると、前記第1端末装置を操作するステップと
を実行する方法。
【請求項13】
プロセッサと、メモリとを備える情報処理装置であって、
前記プロセッサが、
遠隔通信を実施する第1端末装置のマイクで受音された音声が、前記遠隔通信を実施する第2端末装置のスピーカから再生され、前記第1端末装置のマイクで再び受音される音響ループの発生の有無を検出するステップと、
前記音響ループの発生を検出すると、前記第1端末装置を操作するステップと
を実行する情報処理装置。
【請求項14】
遠隔通信を実施する第1端末装置のマイクで受音された音声が、前記遠隔通信を実施する第2端末装置のスピーカから再生され、前記第1端末装置のマイクで再び受音される音響ループの発生の有無を検出する手段と、
前記音響ループの発生を検出すると、前記第1端末装置を操作する手段と
を具備するシステム。
【請求項15】
プロセッサと、メモリとを備えるコンピュータに実行させるためのプログラムであって、前記プログラムは、前記プロセッサに、
遠隔通信を実施する第1端末装置のスピーカの前段において、前記遠隔通信を実施する第2端末装置のマイクで受音された音声に基づく音声信号から、前記第1端末装置のスピーカから再生されて前記第2端末装置のマイクで受音されて前記第1端末装置に到達する信号を抑圧した信号を、前記音声信号に基づいて出力するステップと、
前記出力された信号を、前記第1端末装置のスピーカから再生するステップと
を実行させるプログラム。
【請求項16】
前記第1端末装置のスピーカの前段において、前記第2端末装置のマイクで受音された音声に基づく音声信号に基づき、前記第1端末装置のスピーカから再生されて前記第2端末装置のマイクで受音され、前記第1端末装置に到達する疑似信号を生成するステップを前記プロセッサに実行させ、
前記出力するステップにおいて、前記第2端末装置のマイクで受音された音声に基づく音声信号から前記疑似信号を抑圧することで、前記信号を出力する請求項15記載のプログラム。
【請求項17】
前記疑似信号を生成するステップにおいて、前記第1端末装置のスピーカから再生されて前記第2端末装置のマイクで受音され、前記第1端末装置に到達するまでの伝達関数を、前記音声信号から疑似信号を抑圧した信号に畳み込んで前記疑似信号を生成する請求項16記載のプログラム。
【請求項18】
前記遠隔通信を実現するサーバ、又はネットワークで生じる遅延よりも短い部分に該当する音響ループの伝達関数は零であることを仮定して前記伝達関数を推定する請求項2又は17に記載のプログラム。
【請求項19】
プロセッサと、メモリとを備えるコンピュータが実行する方法であって、
遠隔通信を実施する第1端末装置のスピーカの前段において、前記遠隔通信を実施する第2端末装置のマイクで受音された音声に基づく音声信号から、前記第1端末装置のスピーカから再生されて前記第2端末装置のマイクで受音されて前記第1端末装置に到達する信号を抑圧した信号を、前記音声信号に基づいて出力するステップと、
前記出力された信号を、前記第1端末装置のスピーカから再生するステップと
を実行する方法。
【請求項20】
プロセッサと、メモリとを備える情報処理装置であって、
前記プロセッサが、
遠隔通信を実施する第1端末装置のスピーカの前段において、前記遠隔通信を実施する第2端末装置のマイクで受音された音声に基づく音声信号から、前記第1端末装置のスピーカから再生されて前記第2端末装置のマイクで受音されて前記第1端末装置に到達する信号を抑圧した信号を、前記音声信号に基づいて出力するステップと、
前記出力された信号を、前記第1端末装置のスピーカから再生するステップと
を実行する情報処理装置。
【請求項21】
遠隔通信を実施する第1端末装置のスピーカの前段において、前記遠隔通信を実施する第2端末装置のマイクで受音された音声に基づく音声信号から、前記第1端末装置のスピーカから再生されて前記第2端末装置のマイクで受音されて前記第1端末装置に到達する信号を抑圧した信号を、前記音声信号に基づいて出力する手段と、
前記出力された信号を、前記第1端末装置のスピーカから再生する手段と
を具備するシステム。
【請求項22】
プロセッサと、メモリとを備えるコンピュータに実行させるためのプログラムであって、前記プログラムは、前記プロセッサに、
遠隔通信を実施する第1端末装置のマイクで受音された音声が、前記遠隔通信を実施する第2端末装置へ到達して再生されることで、音声が二重に聞こえる現象の発生の有無を検出するステップと、
前記現象の発生を検出すると、前記第2端末装置を操作するステップと
を実行させるプログラム。
【請求項23】
前記第1端末装置のマイクで受音された音声から、前記第2端末装置のマイクで受音された音声が前記第1端末装置へ到達した音声信号へ変換するための伝達関数を推定するステップを前記プロセッサに実行させ、
前記検出するステップにおいて、前記伝達関数の形状に基づき、音声が二重に聞こえる現象の発生の有無を検出する請求項22記載のプログラム。
【請求項24】
前記推定するステップにおいて、前記伝達関数を、前記第1端末装置のマイクからの信号に畳み込んで疑似信号を生成し、
前記検出するステップにおいて、前記疑似信号のパワー、又は前記疑似信号の形状に基づいて音声が二重に聞こえる現象の発生の有無を検出する請求項23記載のプログラム。
【請求項25】
前記第1端末装置のマイクで受音された音声が、前記第2端末装置へ到達する音声信号を疑似的に生成するステップを前記プロセッサに実行させ、
前記検出するステップにおいて、前記疑似信号のパワー、又は前記疑似信号の形状に基づいて音声が二重に聞こえる現象の発生の有無を検出する請求項22記載のプログラム。
【請求項26】
プロセッサと、メモリとを備えるコンピュータに実行させるためのプログラムであって、前記プログラムは、前記プロセッサに、
遠隔通信を実施する第1端末装置のスピーカの前段において、前記遠隔通信を実施する第2端末装置のマイクで受音された音声に基づく音声信号から、前記第2端末装置のマイクで受音された音声が前記第1端末装置へ到達した信号を抑圧した信号を、前記音声信号に基づいて出力するステップと、
前記出力された信号を、前記第1端末装置のスピーカから再生するステップと
を実行させるプログラム。
【請求項27】
前記第1端末装置のスピーカの前段において、前記第1端末装置のマイクで受音された音声信号に基づき、前記第2端末装置のマイクで受音された音声が前記第1端末装置へ到達する疑似信号を生成するステップを前記プロセッサに実行させ、
前記出力するステップにおいて、前記第2端末装置のマイクで受音された音声に基づく音声信号から前記疑似信号を抑圧することで、前記信号を出力する請求項26記載のプログラム。
【請求項28】
前記疑似信号を生成するステップにおいて、前記第1端末装置のマイクで受音された音声信号から、前記第2端末装置のマイクで受音された音声が前記第1端末装置へ到達した音声信号へ変換するための伝達関数を、前記第1端末装置のマイクで受音された音声信号に畳み込んで前記疑似信号を生成する請求項27記載のプログラム。



【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラム、方法、情報処理装置、及びシステムに関する。
【背景技術】
【0002】
近年、テレワークが推奨されるようになり、ウェブ会議が普及し始めている。テレワーク環境下のウェブ会議では、会議の参加者はそれぞれの音響空間から会議に参加する。しかしながら、複数の参加者が、同一の音響空間から同一のウェブ会議に参加することもあり得る。
【0003】
このとき、同一の音響空間内に存在する端末において、同一空間内の他の端末のスピーカからの音響エコーが自端末のマイクに回り込み、これによってハウリングが発生する場合がある。特許文献1では、同一空間内の他の端末のスピーカ経由で自端末のマイクへ回り込む音響エコーを、マイクにより集音された信号から抑圧することで、ハウリングの発生を抑える技術が提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2015-39093号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1では、同一空間内の他の端末のスピーカ経由で自端末のマイクロホンへ回り込む音響エコーを、マイクロホンにより集音された信号から抑圧するようにしているが、ハウリングを抑える手法はこれに限定されない。
そこで、本開示の目的は、同一音響空間内に存在する端末装置間で発生し得る音響ループを抑えることである。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本開示のプログラムは、プロセッサと、メモリとを備えるコンピュータに実行させるためのプログラムである。プログラムは、プロセッサに、プログラムは、プロセッサに、遠隔通信を実施する第1端末装置のマイクで受音された音声が、遠隔通信を実施する第2端末装置のスピーカから再生され、第1端末装置のマイクで再び受音される音響ループの発生の有無を検出するステップと、音響ループの発生を検出すると、第1端末装置を操作するステップとを実行させる。
【発明の効果】
【0007】
本開示によれば、同一音響空間内に存在する端末装置間で発生し得る音響ループを抑えることができる。
【図面の簡単な説明】
【0008】
図1】第1の実施形態に係るシステムの全体構成を示す図である。
図2】第1の実施形態のシステムに含まれる端末装置の構成を示すブロック図である。
図3】第1の実施形態に係るシステムの構成例を表すブロック図である。
図4】第1の実施形態に係る端末装置の、音響ループが発生した際の動作を示すフローチャートである。
図5】第1の実施形態に係る端末装置の、音響ループが解消された際の動作を示すフローチャートである。
図6】第1の実施形態のシステムに含まれるサーバの機能的な構成を示すブロック図である。
図7】第2の実施形態のシステムに含まれる端末装置の構成を示すブロック図である。
図8】第2の実施形態に係るシステムの構成例を表すブロック図である。
図9】第2の実施形態に係る端末装置が音響エコーを抑制する際の動作を示すフローチャートである。
図10】第2の実施形態のシステムに含まれるサーバの機能的な構成を示すブロック図である。
図11】第3の実施形態に係るシステムの構成を表すブロック図である。
図12】第4の実施形態に係るシステムの構成を表すブロック図である。
【発明を実施するための形態】
【0009】
以下、図面を参照しながら、実施の形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本開示の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本開示の必須構成要件であるとは限らない。
【0010】
<概要>
本実施形態に係るシステム1は、遠隔通信をする端末装置のうち、同一の音響空間内に存在する一方の端末装置のスピーカから、他方の端末装置のマイクに到来する音響エコーを抑えることで、この音響エコーに基づく音響ループの発生を抑える。これにより、システム1は、ハウリングの発生を抑えることが可能となる。
【0011】
(第1の実施形態)
第1の実施形態に係るシステム1は、同一の音響空間内に存在する端末装置間で発生する音響ループを検出し、検出結果に応じて端末装置を制御する。
【0012】
<1 全体構成>
図1は、本実施形態に係るシステム1の全体構成の例を示す図である。図1に示すように、システム1は、端末装置10と、サーバ20とを備えている。端末装置10と、サーバ20とは、有線又は無線の通信規格を用い、ネットワーク80を介して相互に通信可能に接続されている。ネットワーク80は、例えば、インターネット、及び/又は通信事業者が提供する通信網等により実現される。図示の例では、3台の端末装置10がシステム1に含まれている。
【0013】
なお、図1では、サーバ20が1台のコンピュータである場合を示しているが、サーバ20は、複数台のコンピュータが組み合わされて実現されてもよい。
【0014】
端末装置10は、サーバ20により提供される遠隔通信サービスを利用するユーザが使用する端末である。遠隔通信は、遠隔地にいる複数のユーザが同時に参加可能な通信であり、例えば、ウェブ会議通信を含む。なお、ウェブ会議通信に参加するユーザは必ずしも遠隔地にいる必要はなく、同一の音響空間に存在することもある。端末装置10は、例えば、据え置き型のPC(Personal Computer)、ラップトップPC、ヘッドマウントディスプレイ等により実現される。また、端末装置10は、スマートフォン、又はタブレット端末等の携行性を備えたコンピュータであってもよい。
【0015】
サーバ20は、遠隔通信サービスを提供する装置である。例えば、サーバ20は、遠隔通信に参加するユーザから送信される音声信号に対し、エンコード処理、デコード処理、又はミキシング処理等を実行し、遠隔通信の他の参加者へ音声信号を送信する。サーバ20は、例えば、ネットワーク80に接続されたコンピュータにより実現される。なお、ミキシング処理は端末装置10で実施する場合もあってもよい。また、Webで使用される各種技術の標準化団体であるWorld Wide Web Consortium(ワールド・ワイド・ウェブ・コンソーシアム)のメディアの通信の標準化規格WebRTCのようにサーバ20では接続制御のみを実施し、それぞれの端末装置10の間で接続が確立した後にサーバ20を経由せずピア・トゥ・ピアの通信で音声信号を端末装置10の間で直接送受信し、エンコード処理、デコード処理又はミキシング処理を端末装置10で実施する場合もあってもよい。
【0016】
図1に示すように、サーバ20は、通信IF22と、入出力IF23と、メモリ25と、ストレージ26と、プロセッサ29とを備える。通信IF22、入出力IF23、メモリ25、ストレージ26、及びプロセッサ29は、例えば、バスを介して互いに通信可能に接続されている。
【0017】
通信IF22は、サーバ20が外部の装置と通信するため、信号を送受信するためのインタフェースである。入出力IF23は、ユーザからの入力操作を受け付けるための入力装置、及び、ユーザに対し情報を提示するための出力装置とのインタフェースとして機能する。メモリ25は、プログラム、及び、プログラム等で処理されるデータ等を一時的に記憶するためのものであり、例えばDRAM等の揮発性のメモリにより実現される。
【0018】
ストレージ26は、データを保存するための記憶装置であり、例えばフラッシュメモリ、HDD等の不揮発性のメモリにより実現される。ストレージ26は、必ずしも単独の回路により実現されなくてもよい。ストレージ26は、例えば、複数の記憶回路により実現されてもよい。プロセッサ29は、プログラムに記述された命令セットを実行するためのハードウェアであり、演算装置、レジスタ、周辺回路などにより構成される。
【0019】
<1.1 端末装置の構成>
図2は、本実施形態のシステム1に含まれる端末装置10の構成を示すブロック図である。図2に示すように、端末装置10は、通信部121と、入力装置13と、出力装置14と、カメラ160と、記憶部170と、制御部180とを備える。
【0020】
通信部121は、端末装置10が他の装置と通信するための処理を行う。通信部121は、制御部180で生成された信号に送信処理を施し、外部(例えば、サーバ20)へ送信する。通信部121は、外部から受信した信号に受信処理を施し、制御部180へ出力する。
【0021】
入力装置13は、端末装置10を所有するユーザが情報を入力するための装置である。入力装置13は、例えば、マウス131、キーボード132、及び、操作面へ触れることで指示が入力されるタッチ・センシティブ・デバイス133等により実現される。また、入力装置13は、マイク134により実現される。入力装置13は、ユーザから入力される指示又は音声を電気信号へ変換し、電気信号を制御部180へ出力する。なお、入力装置13は、マウス131、及びキーボード132等の物理的な操作デバイスに限定されない。入力装置13には、例えば、外部の入力機器から入力される電気信号を受け付ける受信ポートが含まれてもよい。
【0022】
出力装置14は、端末装置10を所有するユーザへ情報を提示するための装置である。出力装置14は、例えば、ディスプレイ141、スピーカ142等により実現される。ディスプレイ141は、制御部180の制御に応じて、画像、動画、テキスト等のデータを表示する。ディスプレイ141は、例えば、LCD(Liquid Crystal Display)、又は有機EL(Electro-Luminescence)ディスプレイ等によって実現される。スピーカ142は、制御部180の制御に応じて、音声を出力する。
【0023】
カメラ160は、受光素子により光を受光し、撮影信号として出力するためのデバイスである。カメラ160は、例えば、光を受光するレンズがディスプレイ141と並べて設置されている。これにより、カメラ160は、ディスプレイ141を視認するユーザを撮影可能となっている。
【0024】
記憶部170は、例えば、メモリ15、及びストレージ16等により実現され、端末装置10が使用するデータ、及びプログラムを記憶する。具体的には、記憶部170は、例えば、第1信号171、第2信号172を記憶する。
【0025】
第1信号171は、通信部121で受信され、スピーカ142へ送信される音声信号である。第1信号171は、自装置のスピーカ142から、自装置のマイク134へ回り込む第1音響エコーをキャンセルする際に、リファレンスとして用いられる。
【0026】
第2信号172は、マイク134により集音された音声に基づく音声信号から第1音響エコーがキャンセルされた信号である。第2信号172は、自装置のマイク134で受音された音声が遠隔通信を実現するサーバ20を経由して、自装置と同一の音響空間に存在する他の端末装置10のスピーカ142から再生され、自装置のマイク134で受音されるまでの伝達関数(インパルス応答)を推定する際に、リファレンスとして用いられる。
【0027】
制御部180は、プロセッサ19が記憶部170に記憶されるプログラムを読み込み、プログラムに含まれる命令を実行することにより実現される。制御部180は、端末装置10の動作を制御する。具体的には、例えば、制御部180は、操作受付部181、通信制御部182、演算部183、検出部184、操作部185、及び表示制御部186としての機能を発揮する。
【0028】
操作受付部181は、入力装置13から入力されるユーザの操作を受け付けるための処理を行う。
【0029】
通信制御部182は、端末装置10が、遠隔通信に参加する他の端末装置10と、通信プロトコルに従って通信するための処理を行う。通信制御部182は、例えば、マイク134により集音された音声に基づく音声信号を遠隔通信に参加する他の端末装置10へ送信する。また、通信制御部182は、他の端末装置10から送信される音声信号を受信し、音声に変換して演算部183、検出部184、操作部185、表示制御部186に渡しし、またスピーカ142から出力する。通信制御部182にはピア・トゥ・ピア通信に対応するために他の端末装置10から受信した音声信号を音声に変換した後にミキシング処理を行うミキサーを含む。
【0030】
また、通信制御部182は、例えば、キーボード132、タッチ・センシティブ・デバイス133等から入力されるテキストデータを遠隔通信に参加する他の端末装置10へ送信する。また、通信制御部182は、他の端末装置10から送信されるデータを受信し、テキストデータに変換してディスプレイ141から出力する。
【0031】
演算部183は、マイク134により集音された音声に基づく音声信号についての演算処理を実施する。具体的には、例えば、演算部183は、記憶部170に記憶される第1信号171に基づき、音声信号から第1音響エコーを抑制する。
【0032】
また、例えば、演算部183は、記憶部170に記憶される第2信号172に基づき、音響ループによる音響エコーの伝達関数を推定する。演算部183は、推定した伝達関数を用い、音響ループによる音響エコーの疑似信号を生成してもよい。
【0033】
検出部184は、音響ループを検出する。具体的には、例えば、検出部184は、演算部183により推定された伝達関数に基づき、音響ループが発生したか否かを判断する。より具体的には、検出部184は、伝達関数の形状に基づき、音響ループが発生したか否かを判断する。伝達関数の形状を時間軸上で表す例として、例えば、インパルス応答の形状、又はパワーが挙げられる。伝達関数の形状を周波数軸上で表す例として、例えば、フーリエ係数の形状、又はパワーが挙げられる。検出部184は、演算部183により生成された疑似信号に基づいて音響ループを検出してもよい。
【0034】
操作部185は、マイク134及びスピーカ142を操作する。具体的には、例えば、操作部185は、検出部184により音響ループが検出されると、マイク134に到来する音声が後段へ伝わらなくなる操作をし、通信部121で受信されスピーカ142へ送信される音声信号のボリュームダウンの操作をする。マイク134に到来する音声が後段へ伝わらなくなる操作には、例えば、マイク134をミュートにする操作、又は、他の端末装置10へ送信する経路の途中でミュートにする操作が含まれる。スピーカ142へ送信される音声信号のボリュームダウンの操作には、例えば、通信制御部182のミキサーからスピーカ142までの経路の途中で音声信号のボリュームダウンする操作、又は、通信制御部182のミキサーの前の経路でボリュームダウンする操作が含まれ、また音声信号のボリュームダウンの量は音声信号がゼロになる場合が含まれる。操作部185は、例えば、音声信号のボリュームダウンの量は遠隔通信での会話内容が聞き取れ、かつ、音響ループが発生しない程度のスピーカ142の出力となるように操作する。
【0035】
操作部185は、音響ループが解消されたことが検出部184により検出されると、マイク134に到来する音声の後段への伝達を操作前の状態に戻し、スピーカ142へ送信される音声信号のボリュームダウンの操作前の状態に戻すようにしてもよい。操作部185は、マイク134をミュート前の状態よりも感度を下げ、スピーカ142へ送信される音声信号のボリュームダウンの操作前よりもレベルを下げてもよい。これにより、操作前よりも音響ループが発生しづらくなる。
【0036】
表示制御部186は、ユーザに対して種々の情報を提示するため、出力装置14を制御する。具体的には、例えば、表示制御部186は、検出部184により音響ループが検出されると、音響ループが検出されたことをユーザに提示する。同時に、表示制御部186は、マイク134に到来する音声が後段へ伝わらなくなる操作と、スピーカ142へ送信される音声信号のボリュームダウンの操作とを促す情報をユーザに提示する。例えば、表示制御部186は、音響ループが検出されたことを表すメッセージ、及び、マイク134のミュートと、スピーカ142のボリュームダウンさせることを促すメッセージをディスプレイ141に表示させる。スピーカ142のボリュームダウンの程度は、例えば、遠隔通信での会話内容が聞き取れ、かつ、音響ループが発生しない程度の出力が推奨される。
【0037】
マイク134に到来する音声が後段へ伝わらなくなる操作と、スピーカ142へ送信される音声信号のボリュームダウンの操作とを促す情報のユーザへの提示は、操作部185によるマイク134及びスピーカ142の操作と同時に実施されてもよい。また、マイク134に到来する音声が後段へ伝わらなくなる操作と、スピーカ142へ送信される音声信号のボリュームダウンの操作とを促す情報のユーザへの提示は、操作部185によりマイク134及びスピーカ142が操作されている場合は実行されないようにしてもよい。
【0038】
表示制御部186は、音響ループが解消されたことが検出部184により検出されると、音響ループが解消されたことをユーザに提示してもよい。同時に、表示制御部186は、音声の伝送を音声信号についての操作前の状態に戻し、スピーカ142へ送信される音声信号のボリュームダウンの操作の前の状態に戻すことを促す情報をユーザに提示してもよい。このとき、表示制御部186は、音声信号について操作前の状態よりも感度を下げ、スピーカ142へ送信される音声信号のボリュームダウンの操作の前の状態よりもレベルを下げて戻すことを促す情報をユーザに提示してもよい。これにより、操作前よりも音響ループが発生しづらくなる。
【0039】
<2.動作>
端末装置10の制御部180が音響ループを検出し、検出結果に応じて端末装置10を制御する際の動作について説明する。以下では、端末装置10-1,10-2が同一の音響空間内に存在し、端末装置10-3が異なる音響空間内に存在する場合を例に説明する。
【0040】
図3は、第1の実施形態に係るシステム1の構成例を表すブロック図である。図3に示すシステム1では、端末装置10-1,10-2が同一の音響空間内に存在し、端末装置10-3が異なる音響空間内に存在している。図3において、第1フィルタ演算部1831、第1減算器1832、第2フィルタ演算部1833、及び第2減算器1834は、端末装置10の演算部183の演算により実現される処理である。
【0041】
図3では、端末装置10-1のマイク134で集音される3種の音響エコーを示している。なお、図3では、端末装置10-1に関連する音響エコーについて説明するが、端末装置10-2においてもこれら音響エコーと同様の音響エコーが生じうる。
【0042】
図3において、第1音響エコーA1は、端末装置10-1のスピーカ142から端末装置10-1のマイク134に回り込む音響エコーを示している。すなわち、端末装置10-1は、サーバ20から送信される音声信号を受信する。端末装置10-1は、受信した音声信号に基づく音声を、スピーカ142から出力する。マイク134は、スピーカ142から出力された音声、又は壁等で反射された後に到来した音声を収音する。
【0043】
図3において、第2音響エコーA2は、端末装置10-2のスピーカ142から端末装置10-1のマイク134に回り込む音響エコーを示している。すなわち、端末装置10-2は、サーバ20から送信される音声信号を受信する。端末装置10-2は、受信した音声信号に基づく音声を、スピーカ142から出力する。端末装置10-1のマイク134は、端末装置10-2のスピーカ142から出力された音声、又は壁等で反射された後に到来した音声を収音する。
【0044】
図3において、第3音響エコーA3は、音響ループR1による音響エコーを示している。音響ループR1は、端末装置10-1のマイク134で受音された音声がサーバ20を経由して、端末装置10-2のスピーカ142から再生され、再び端末装置10-1のマイク134で受音される音響ループを示している。すなわち、端末装置10-1は、端末装置10-2のスピーカ142から出力された音声、又は壁等で反射された後に到来した音声をマイク134により収音する。端末装置10-1は、集音した音声に基づく音声信号を、第1音響エコーA1を抑制した後、サーバ20へ送信する。端末装置10-2は、サーバ20から送信される音声信号を受信する。端末装置10-2は、受信した音声信号に基づく音声を、スピーカ142から出力する。端末装置10-1は、端末装置10-2のスピーカ142から出力された音声、又は壁等で反射された後に到来した音声をマイク134により収音する。
【0045】
図4は、第1の実施形態に係る端末装置10の、音響ループが発生した際の動作の一例を示すフローチャートである。
【0046】
まず、端末装置10-1~10-3のユーザは、例えば、ウェブ会議を開始させる。端末装置10-1~10-3のユーザは、ウェブ会議を開始させると、所定の議題について議論する。
【0047】
例えば、端末装置10-3のユーザが発した音声は端末装置10-3のマイク134で集音される。端末装置10-3は、マイク134で集音した音声に基づく音声信号をサーバ20へ送信する。
【0048】
サーバ20は、端末装置10-3から受信した音声信号に対し、デコード処理、ミキシング処理、又はデコード処理を実行し、ウェブ会議に参加する他のユーザへ音声信号を送信する。つまり、サーバ20は、端末装置10-3からの音声信号を、端末装置10-1,10-2へ送信する。
【0049】
端末装置10-1は、音声信号を受信すると、受信した音声信号に基づく音声をスピーカ142から出力する。また、端末装置10-1は、受信した音声信号を第1信号171として記憶部170に記憶する。
【0050】
端末装置10-1は、マイク134により、音声を集音する。マイク134により集音される音声には、第1音響エコーA1が含まれ得る。また、マイク134により集音される音声には、第2音響エコーA2が含まれ得る。また、マイク134により集音される音声には、音響ループR1による第3音響エコーA3が含まれ得る。また、マイク134により集音される音声には、端末装置10-1のユーザにより発せられた音声が含まれ得る。
【0051】
端末装置10-1は、第1フィルタ演算部1831により、集音した音声に含まれる第1音響エコーA1を推定した第1疑似信号を生成する(ステップS11)。具体的には、第1フィルタ演算部1831は、記憶部170に記憶している第1信号171に、第1フィルタ係数を畳み込んで第1疑似信号を推定する。第1フィルタ係数は、端末装置10-1のスピーカ142から、端末装置10-1のマイク134への伝達関数(インパルス応答)を時間軸で離散化した係数群である。
【0052】
第1フィルタ演算部1831は、第1減算器1832から出力される信号に基づき、第1フィルタ係数を更新する。第1フィルタ演算部1831は、第1フィルタ係数を適応的に修正する。つまり、第1フィルタ演算部1831により、適応フィルタが実現される。
【0053】
端末装置10-1は、第1減算器1832により、マイク134から出力された音声信号から第1音響エコーA1を打ち消す(ステップS12)。具体的には、第1減算器1832は、マイク134から出力される音声信号から、第1フィルタ演算部1831で推定された第1疑似信号を減算する。第1減算器1832は、減算後の信号を出力する。端末装置10-1は、減算後の信号を第2信号172として記憶部170に記憶する。
【0054】
端末装置10-1は、第2フィルタ演算部1833により、第1減算器1832からの出力に含まれ得る音響ループR1による第3音響エコーA3を推定した第2疑似信号を生成する(ステップS13)。具体的には、第2フィルタ演算部1833は、記憶部170に記憶している第2信号172に、第2フィルタ係数を畳み込んで第2疑似信号を推定する。第2フィルタ係数は、端末装置10-1のマイク134で受音された音声がサーバ20を経由して端末装置10-2のスピーカ142から再生され、端末装置10-2のスピーカ142から端末装置10-1のマイク134の音響空間を経由して端末装置10-1のマイク134で再び受音されるまでの伝達関数(インパルス応答)を時間軸で離散化した係数群である。伝達関数は、サーバ20での処理、及びネットワークによる伝送で生じる遅延よりも短い部分に該当する音響ループの伝達関数が零であると仮定して推定される。第2フィルタ演算部1833は、推定した第2疑似信号を検出部184、及び第2減算器1834へ出力する。
【0055】
第2フィルタ演算部1833は、第2減算器1834から出力される信号に基づき、第2フィルタ係数を更新する。第2フィルタ演算部1833は、第2フィルタ係数を適応的に修正する。つまり、第2フィルタ演算部1833により、適応フィルタが実現される。
【0056】
端末装置10-1は、第2減算器1834により、第1減算器1832から出力された信号から第3音響エコーA3を打ち消す。具体的には、第2減算器1834は、第1減算器1832から出力される信号から、第2フィルタ演算部1833で推定された第2疑似信号を減算する。第2減算器1834は、減算後の信号を第2フィルタ演算部1833へ出力する。
【0057】
端末装置10-1は、検出部184により、推定した第2疑似信号に基づき、音響ループが発生したか否かを判断する(ステップS14)。具体的には、例えば、検出部184は、生成された第2疑似信号の形状が、予め設定された形状となった場合、音響ループが発生したと判断する。また、例えば、検出部184は、生成された第2疑似信号のパワーが予め設定された閾値を超えた場合、音響ループが発生したと判断する。
【0058】
端末装置10-1において音響ループが発生したと判断された場合、端末装置10-1が持つマイク134が、その音響ループ上に存在することを意味する。一般的に音響ループが発生した場合、端末装置10-1のマイク134と、他の端末装置10のスピーカ142の間で発生した音響ループに加えて、端末装置10-1のスピーカ142と、他の端末装置10のマイク134の間でも音響ループが発生していると考えられる。
【0059】
端末装置10-1は、検出部184により音響ループが検出されると(ステップS14のYes)、操作部185により、マイク134及びスピーカ142を操作する(ステップS15)。具体的には、例えば、操作部185は、検出部184により音響ループが検出されると、マイク134に到来する音声が後段へ伝わらなくなる操作をし、スピーカ142へ送信される音声信号のボリュームダウンの操作をする。
【0060】
端末装置10-1は、検出部184により音響ループが検出されないと(ステップS14のNo)、ステップS13、S14の処理を繰り返す。
【0061】
図4に示す説明では、検出部184が音響ループを検出すると、操作部185がマイク134と、スピーカ142とを操作する場合を示した。端末装置10-1は、操作部185に代えて表示制御部186を動作させてもよい。例えば、端末装置10-1は、検出部184により音響ループが検出されると(ステップS14のYes)、表示制御部186により、マイク134及びスピーカ142の操作を促す情報をユーザに提示してもよい。具体的には、例えば、表示制御部186は、検出部184により音響ループが検出されると、マイク134に到来する音声が後段へ伝わらなくなる操作と、スピーカ142へ送信される音声信号のボリュームダウンの操作とを促す情報を、ディスプレイ141に表示させる。また、表示制御部186は、同一の音響空間に存在するいずれかの端末装置のマイク134に到来する音声が後段へ伝わらなくなる操作と、スピーカ142へ送信される音声信号のボリュームダウンの操作とを促す情報を、ディスプレイ141に表示させてもよい。
【0062】
また、図4に示す説明では、端末装置10-1が、第2フィルタ演算部1833により第2疑似信号を算出し、検出部184により第2疑似信号に基づき、音響ループが発生したか否かを判断する場合を説明した。しかしながら、端末装置10-1は、音響ループが発生したか否かを、端末装置10-1のマイク134で受音された音声がサーバ20を経由して端末装置10-2のスピーカ142から再生され、端末装置10-2のスピーカ142から端末装置10-1のマイク134の音響空間を経由して端末装置10-1のマイク134で再び受音されるまでの伝達関数(インパルス応答)に基づいて判断してもよい。
【0063】
図5は、第1の実施形態に係る端末装置10の、音響ループが解消された際の動作の一例を示すフローチャートである。
【0064】
端末装置10-1は、例えば、図4に示す処理で音響ループを検出した状態において図5に示す処理を実行する。端末装置10-1は、ステップS11~S13の処理を図4と同様に実行する。
【0065】
端末装置10-1は、ステップS13で第2疑似信号を生成すると、検出部184により、推定した第2疑似信号に基づき、音響ループが解消されたか否かを判断する(ステップS16)。具体的には、例えば、検出部184は、生成された第2疑似信号の形状が、予め設定された形状となった場合、音響ループが解消されたと判断する。また、例えば、検出部184は、生成された第2疑似信号のパワーが予め設定された閾値を超えた状態から、予め設定された閾値未満の状態となった場合、音響ループが解消されたと判断する。
【0066】
端末装置10-1は、検出部184により音響ループの解消が検出されると(ステップS16のYes)、操作部185により、マイク134及びスピーカ142を操作する(ステップS17)。具体的には、例えば、操作部185は、検出部184により音響ループの解消が検出されると、音声の伝送を音声信号についての操作前の状態に戻し、スピーカ142へ送信される音声信号のボリュームを操作前の状態に戻す。
【0067】
端末装置10-1は、検出部184により音響ループの解消が検出されないと(ステップS16のNo)、ステップS13、S16の処理を繰り返す。
【0068】
図5に示す説明では、検出部184が音響ループの解消を検出すると、操作部185がマイク134と、スピーカ142とを操作する場合を示した。端末装置10-1は、操作部185に代えて表示制御部186を動作させてもよい。例えば、端末装置10-1は、検出部184により音響ループの解消が検出されると(ステップS16のYes)、表示制御部186により、マイク134及びスピーカ142の操作を促す情報をユーザに提示してもよい。具体的には、例えば、表示制御部186は、検出部184により音響ループの解消が検出されると、マイク134のミュート又は経路の途中のミュートをミュート前の状態に戻し、スピーカ142へ送信される音声信号のボリュームを操作前の状態に戻すことを促す情報を、ディスプレイ141に表示させる。
【0069】
また、図5に示す説明では、端末装置10-1が、第2フィルタ演算部1833により第2疑似信号を算出し、検出部184により第2疑似信号に基づき、音響ループが解消されたか否かを判断する場合を説明した。しかしながら、端末装置10-1は、検出部184により、第2フィルタ演算部1833で推定した伝達関数に基づき、音響ループが解消されたか否かを判断してもよい。
【0070】
以上のように、第1の実施形態では、端末装置10は、演算部183により、遠隔通信を実施する自装置のマイク134で受音された音声が、遠隔通信を実現するサーバを経由して他方の端末装置のスピーカ142から再生され、自装置のマイク134で再び受音されるまでの伝達関数を推定する。端末装置10は、検出部184により、伝達関数の形状に基づいて音響ループの発生の有無を検出する。端末装置10は、音響ループの発生を検出すると、操作部185、又は表示制御部186により、自装置を操作するようにしている。
【0071】
このように、個々のマイク134、スピーカ142間のチャネル特性同定処理がデバイス独立処理になるように、音声信号のリファレンス元を第1減算器1832の後段へ移動させている。これにより、サーバ又は端末装置の計算量を軽減させることが可能となる。また、音響ループに存在するマイクを特定することが可能となる。また、異なる端末装置の再生音声を用いず、自装置内で完結するため、実装が容易である。また、音響ループを検出すると、自装置を操作するようにしているため、音響ループを効果的に解消することが可能となる。
【0072】
端末装置10は、自装置を操作する際、操作部185により、スピーカ142へ送信される音声信号のボリュームダウンを操作し、かつ、マイク134に到来する音声が後段へ伝わらなくなる操作をするようにしている。これにより、端末装置10は、音響ループを自動で解消可能となる。
【0073】
また、端末装置10は、自装置を操作する際、表示制御部186により、スピーカ142へ送信される音声信号のボリュームダウンを制御し、かつ、マイク134に到来する音声が後段へ伝わらなくなる操作をする提案をユーザに提示するようにしている。これにより、端末装置10は、音響ループの解消を促すUI(User Interface)をユーザに提供することが可能となる。
【0074】
したがって、本実施形態に係る端末装置10によれば、同一音響空間内に存在する端末装置間で発生し得る音響ループを抑えることができる。
【0075】
また、上記実施形態では、端末装置10は、検出部184により、音響ループの解消の有無を検出する。そして、音響ループの解消を検出すると、端末装置10は、操作部185又は表示制御部186により、自装置を操作するようにしている。これにより、端末装置10は、音響ループを解消した後、遠隔通信に復帰することが可能となる。
【0076】
端末装置10は、自装置を操作する際、操作部185により、スピーカ142へ送信される音声信号のボリュームダウンの操作前の状態に戻し、かつ、音声の伝送を音声信号についての操作前の状態に戻すようにしている。これにより、端末装置10は、遠隔通信に自動で復帰可能となる。このとき、端末装置10は、スピーカ142の出力を音響ループの発生前よりも小さく、マイク134の感度を音響ループの発生前よりも低くするようにしている。これにより、音響ループの発生前より、音響ループが発生しづらくなる。
【0077】
また、端末装置10は、自装置を操作する際、表示制御部186により、スピーカ142の出力を上げ、かつ、マイク134のミュートを解除する提案をユーザに提示するようにしている。これにより、端末装置10は、遠隔通信への復帰を促すUI(User Interface)をユーザに提供することが可能となる。
【0078】
また、上記実施形態では、遠隔通信を実現するサーバ、又はネットワークで生じる遅延よりも短い部分に該当する音響ループの伝達関数は零であることを仮定して伝達関数を推定するようにしている。これにより、真の音響ループの伝達関数の推定精度を改善することが可能となる。
【0079】
第1の実施形態では、演算部183が、第2フィルタ演算部1833と、第2減算器1834とにより、音響ループを検出する場合を例に説明した。しかしながら、これに限定されない。演算部183は、学習済みモデルを用いて音響ループを検出してもよい。
【0080】
本実施形態に係る学習済みモデルは、例えば、入力される信号に基づき、所定の推論を実施する、複数の関数が合成されたパラメータ付き合成関数である。パラメータ付き合成関数は、複数の調整可能な関数及びパラメータの組合せにより定義される。本実施形態に係る学習済みモデルは、上記の要請を満たす如何なるパラメータ付き合成関数であってもよい。
【0081】
例えば、学習済みモデルが順伝播型の多層化ネットワークを用いて生成される場合、パラメータ付き合成関数は、例えば、重み行列を用いた各層間の線形関係、各層における活性化関数を用いた非線形関係(又は線形関係)、及びバイアスの組み合わせとして定義される。重み付行列、及びバイアスは、多層化ネットワークのパラメータと呼ばれる。パラメータ付き合成関数は、パラメータをどのように選ぶかで、関数としての形を変える。多層化ネットワークでは、構成するパラメータを適切に設定することで、出力層から好ましい結果を出力することが可能な関数を定義することができる。
【0082】
本実施形態に係る多層化ネットワークとしては、例えば、深層学習(Deep Learning)の対象となる多層ニューラルネットワークである深層ニューラルネットワーク(Deep Neural Network:DNN)が用いられ得る。DNNとしては、例えば、時系列情報等を対象とする再帰型ニューラルネットワーク(Recurrent Neural Network:RNN)を用いてもよい。また「Transformer」と呼ばれる注意機構(アテンション )を用いた多層ニューラルネットワークを用いてもよい。
【0083】
学習済みモデルは、例えば、入力される音声信号に対し、インパルス応答を出力するように学習されている。このとき、学習用データは、例えば、音声信号を入力データとし、この音声信号に対するインパルス応答を正解出力データとする。学習済みモデルは、例えば、第1減算器1832から出力される信号が入力されると、入力された音声信号に応じたインパルス応答を出力する。
【0084】
また、学習済みモデルは、例えば、第2擬似信号を出力するように学習されている。このとき、学習用データは、例えば、音声信号を入力データとし、この音声信号に対する第2擬似信号を正解出力データとする。学習済みモデルは、例えば、第1減算器1832から出力される信号が入力されると、入力された音声信号に応じた第2疑似信号を出力する。
【0085】
学習済みモデルは、例えば、入力される音声信号に対し、音響ループの発生の有無を出力するように学習されていてもよい。このとき、学習用データは、例えば、音声信号を入力データとし、音響ループが発生しているか否かを正解出力データとする。学習済みモデルは、例えば、第1減算器1832から出力される信号が入力されると、音響ループが発生しているか否かを出力する。この場合、演算部183が、検出部184の機能を担うと換言可能である。
【0086】
また、第1の実施形態では、端末装置10は、他の端末装置10のうちいずれかを同一の音響空間に存在すると判断する機能を有していてもよい。例えば、制御部180は、プロセッサ19が記憶部170に記憶されるプログラムを読み込み、プログラムに含まれる命令を実行することにより、判断部としての機能を発揮してもよい。
【0087】
判断部は、例えば、集音された音声に基づく音声信号の相関を用いて、他の端末装置10が同一の音響空間に存在するか否かを判断する。具体的には、例えば、判断部は、自装置のマイク134で集音された音声に基づく音声信号と、他装置のマイク134で集音された音声に基づく音声信号との相関を用いて、他の端末装置10が同一の音響空間に存在するか否かを判断する。
【0088】
判断部は、学習済みモデルを用い、他の端末装置10が同一の音響空間に存在するか否かを判断してもよい。学習済みモデルは、例えば、入力される少なくとも1対の音声信号に対し、これらの信号の集音元の端末装置が同一の音響空間に存在するか否かを出力するように学習されている。このとき、学習用データは、例えば、少なくとも1対の音声信号を入力データとし、これらの信号の集音元の端末装置が同一の音響空間に存在するか否かを正解出力データとする。学習済みモデルは、例えば、自装置で集音された音声に基づく音声信号と、他装置で集音された音声に基づく音声信号とが入力されると、他の端末装置が同一の音響空間に存在するか否かを出力する。
【0089】
判断部は、他の端末装置10のIPアドレス、又はMACアドレス、無線LANのSSID、又は接続しているアクセスポイントのMACアドレス等に基づき、同一のSSID又は同一のアクセスポイントのMACアドレスに接続されていることをもって他の端末装置10が同一の音響空間に存在するか否かを判断してもよい。なお、端末装置10及び無線LANアクセスポイントのMACアドレスによらずユニークに装置が特定できる他の情報であってもよい。
【0090】
検出部184は、例えば、判断部による判断結果を利用し、検出した音響ループが、自装置が存在する音響空間で発生したものであるかを判断する。検出した音響ループが、自装置が存在する音響空間で発生した音響ループでない場合、例えば、検出部184は、音響ループは発生していないと判断する。これにより、検出部184は、同一の音響空間で発生した音響ループを検出することが可能となる。このため、端末装置10は、存在する音響空間で発生する音響ループを適切に抑えることが可能となる。つまり、操作部185は、同一の音響空間に存在する端末装置10のスピーカ142へ送信される音声信号のボリュームを操作し、かつ、マイク134に到来する音声が後段へ伝わらなくなる操作をすることが可能となる。また、表示制御部186は、同一の音響空間に存在するいずれかの端末装置10のスピーカ142へ送信される音声信号のボリュームを操作し、かつ、マイク134に到来する音声が後段へ伝わらなくなる操作をすることをディスプレイ141に表示することが可能となる。
【0091】
(変形例)
第1の実施形態では、端末装置10が、演算部183の一部(第2フィルタ演算部1833、第2減算器1834)、検出部184、操作部185、表示制御部186の機能を実現する場合を例に説明した。しかしながら、演算部183の一部(第2フィルタ演算部1833、第2減算器1834)、検出部184、操作部185、表示制御部186の機能は、サーバ20で実現されてもよい。
【0092】
図6は、本実施形態のシステム1に含まれるサーバ20の機能的な構成を示すブロック図である。図6に示すように、サーバ20は、通信部201、記憶部202、及び制御部203としての機能を発揮する。
【0093】
通信部201は、サーバ20が外部の装置と通信するための処理を行う。
【0094】
記憶部202は、サーバ20が使用するデータ及びプログラムを記憶する。具体的には、例えば、記憶部202は、端末装置10から送信される第2信号を記憶する第2信号DB2021を有する。
【0095】
第2信号DB2021は、遠隔通信に参加する端末装置10から送信される第2信号を記憶する。第2信号は、それぞれの端末装置10のマイク134により集音された音声に基づく音声信号から、端末装置10の第1音響エコーがキャンセルされた信号である。
【0096】
制御部203は、プロセッサ29が記憶部202に記憶されるプログラムを読み込み、プログラムに含まれる命令を実行することにより実現される。制御部203は、サーバ20の動作を制御する。具体的には、例えば、制御部203は、送受信部2031、記憶制御部2032、通信制御部2033、演算部2034、検出部2035、操作部2036、及び提示部2037としての機能を発揮する。
【0097】
送受信部2031は、サーバ20が、端末装置10等の外部の装置と、通信プロトコルに従ってデータを送受信する処理を制御する。
【0098】
記憶制御部2032は、記憶部202への情報の記憶を制御する。
【0099】
通信制御部2033は、端末装置10間で、所定の通信プロトコルに従った遠隔通信を実現するための処理を行う。具体的には、例えば、通信制御部2033は、遠隔通信に参加するユーザから送信される音声信号に対し、エンコード処理、デコード処理、又はミキシング処理等を実行し、遠隔通信の他の参加者へ音声信号を送信する。
【0100】
演算部2034は、記憶部202に記憶される第2信号に基づき、音響ループによる音響エコーの伝達関数を推定する。演算部2034は、推定した伝達関数を用い、音響ループによる音響エコーの疑似信号を生成してもよい。
【0101】
検出部2035は、音響ループを検出する。具体的には、例えば、検出部2035は、演算部2034により推定された伝達関数に基づき、端末装置10において音響ループが発生したか否かを判断する。より具体的には、検出部2035は、伝達関数の形状に基づき、音響ループが発生したか否かを判断する。検出部2035は、演算部2034により生成された疑似信号に基づいて音響ループを検出してもよい。
【0102】
操作部2036は、音響ループが発生した端末装置10のマイク134及びスピーカ142を操作する。具体的には、例えば、操作部2036は、検出部2035により、所定の端末装置10で音響ループが発生したことが検出されると、音響ループの発生が検出された端末装置10のマイク134に到来する音声が後段へ伝わらなくなる操作をし、スピーカ142へ送信される音声信号のボリュームダウンの操作をする。操作部2036は、例えば、遠隔通信での会話内容が聞き取れ、かつ、音響ループが発生しない程度の出力となるように、スピーカ142を操作する。
【0103】
操作部2036は、音響ループが解消されたことが検出部2035により検出されると、音声の伝送を音声信号についての操作前の状態に戻し、スピーカ142へ送信される音声信号のボリュームダウンの操作の前の状態に戻すようにしてもよい。操作部2036は、音声信号についての操作前の状態よりも感度を下げ、スピーカ142へ送信される音声信号のボリュームダウンの操作の前の状態よりもレベルを下げてもよい。これにより、操作前よりも音響ループが発生しづらくなる。
【0104】
提示部2037は、検出部2035により音響ループが検出されると、音響ループが発生した端末装置10のユーザに、音響ループが発生したことを提示する。同時に、提示部2037は、マイク134に到来する音声が後段へ伝わらなくなる操作と、スピーカ142へ送信される音声信号のボリュームダウンの操作とを促す情報を端末装置10のユーザに提示する。例えば、提示部2037は、音響ループが検出されたことを表すメッセージ、及び、マイク134のミュートと、スピーカ142のボリュームダウンとを促すメッセージを端末装置10のディスプレイ141に表示させる。スピーカ142のボリュームダウンの程度は、例えば、遠隔通信での会話内容が聞き取れ、かつ、音響ループが発生しない程度の出力が推奨される。
【0105】
マイク134に到来する音声が後段へ伝わらなくなる操作と、スピーカ142へ送信される音声信号のボリュームダウンの操作とを促す情報のユーザへの提示は、操作部2036によるマイク134及びスピーカ142の操作と同時に実施されてもよい。また、マイク134に到来する音声が後段へ伝わらなくなる操作と、スピーカ142へ送信される音声信号のボリュームダウンの操作とを促す情報のユーザへの提示は、操作部2036によりマイク134及びスピーカ142が操作されている場合は実行されないようにしてもよい。
【0106】
提示部2037は、音響ループが解消されたことが検出部2035により検出されると、音響ループが解消されたことをユーザに提示してもよい。同時に、提示部2037は、音声の伝送を音声信号についての操作前の状態に戻し、スピーカ142へ送信される音声信号のボリュームダウンの操作の前の状態に戻すことを促す情報をユーザに提示してもよい。このとき、提示部2037は、音声の伝送を音声信号についての操作前の状態よりも感度を下げ、スピーカ142へ送信される音声信号のボリュームダウンの操作の前の状態よりもレベルを下げて戻すことを促す情報をユーザに提示してもよい。これにより、操作前よりも音響ループが発生しづらくなる。
【0107】
また、サーバ20は、遠隔通信に参加する端末装置10が、同一の音響空間に存在すると判断する機能を有していてもよい。例えば、制御部203は、プロセッサ29が記憶部202に記憶されるプログラムを読み込み、プログラムに含まれる命令を実行することにより、判断部としての機能を発揮してもよい。
【0108】
判断部は、例えば、集音された音声に基づく音声信号の相関を用いて、同一の音響空間に存在する端末装置10を判断する。具体的には、例えば、判断部は、一の端末装置10のマイク134で集音された音声に基づく音声信号と、他の端末装置10のマイク134で集音された音声に基づく音声信号との相関を用いて、同一の音響空間に存在する端末装置10をクラスタリングする。
【0109】
判断部は、学習済みモデルを用い、同一の音響空間に存在する端末装置10を判断してもよい。学習済みモデルは、例えば、入力される少なくとも1対の音声信号に対し、これらの信号の集音元の端末装置が同一の音響空間に存在するか否かを出力するように学習されている。このとき、学習用データは、例えば、少なくとも1対の音声信号を入力データとし、これらの信号の集音元の端末装置が同一の音響空間に存在するか否かを正解出力データとする。学習済みモデルは、例えば、一の端末装置10で集音された音声に基づく音声信号と、他の端末装置10で集音された音声に基づく音声信号とが入力されると、端末装置10が同一の音響空間に存在するか否かを出力する。
【0110】
判断部は、端末装置10のIPアドレス、無線LANのSSID、又は、端末装置10が接続しているアクセスポイントのMACアドレス等に基づき、同一の音響空間に存在する端末装置10をクラスタリングしてもよい。なお、端末装置10及び無線LANアクセスポイントのMACアドレスによらずユニークに装置が特定できる他の情報であってもよい。
【0111】
検出部2035は、例えば、判断部による判断結果を利用し、検出した音響ループが、どのクラスターで発生したものであるかを判断する。具体的には、例えば、検出部2035は、音響ループが発生した音響空間に存在する端末装置10を特定する。これにより、検出部2035は、同一の音響空間で発生した音響ループを検出することが可能となる。このため、端末装置10は、存在する音響空間で発生する音響ループを適切に抑えることが可能となる。つまり、操作部2036は、音響ループが発生した個々の音響空間に存在するいずれかの端末装置10のスピーカ142へ送信される音声信号のボリュームダウンの操作をし、かつ、マイク134に到来する音声が後段へ伝わらなくなる操作をすることが可能となる。すなわち、ウェブ会議の主催者側で、音響ループが発生した音響空間に存在する端末装置10を操作することが可能となる。また、提示部2037は、音響ループが発生した個々の音響空間に存在するいずれかの端末装置10のスピーカ142へ送信される音声信号のボリュームダウンの操作をし、かつ、マイク134に到来する音声が後段へ伝わらなくなる操作をすることをディスプレイ141に表示させることが可能となる。
【0112】
(第2の実施形態)
第2の実施形態に係るシステム1は、遠隔通信において発生する音響ループの影響を、送信系統において抑制する。
【0113】
<1 全体構成>
第2の実施形態に係るシステム1aの構成は、図1に示す構成と同様である。システム1aは、端末装置10aと、サーバ20aとを備えている。
【0114】
<1.1 端末装置の構成>
図7は、本実施形態のシステム1aに含まれる端末装置10aの構成を示すブロック図である。図7に示すように、端末装置10aは、通信部121と、入力装置13と、出力装置14と、カメラ160と、記憶部170aと、制御部180aとを備える。
【0115】
記憶部170aは、例えば、メモリ15、及びストレージ16等により実現され、端末装置10aが使用するデータ、及びプログラムを記憶する。具体的には、記憶部170aは、例えば、第3信号173を記憶する。
【0116】
第3信号173は、サーバ20aから受信した音声信号から、自装置以外の端末装置10で受信された第2音響エコーがキャンセルされた信号である。第3信号173は、自装置のスピーカ142から、自装置のマイク134へ回り込む第1音響エコーをキャンセルする際に、リファレンスとして用いられる。また、第3信号173は、同一の音響空間に存在する一方の端末装置10のスピーカ142から、他方の端末装置10のマイク134へ回り込む第2音響エコーをキャンセルする際に、リファレンスとして用いられる。
【0117】
制御部180aは、プロセッサ19が記憶部170aに記憶されるプログラムを読み込み、プログラムに含まれる命令を実行することにより実現される。制御部180aは、端末装置10aの動作を制御する。具体的には、例えば、制御部180aは、操作受付部181、通信制御部182、演算部183aとしての機能を発揮する。
【0118】
演算部183aは、サーバ20aから受信した音声信号と、マイク134により集音された音声に基づく音声信号とについての演算処理を実施する。具体的には、例えば、演算部183aは、記憶部170aに記憶される第3信号173に基づき、サーバ20から受信した音声信号から第2音響エコーを抑制する。また、例えば、演算部183aは、記憶部170に記憶される第3信号173に基づき、マイク134により集音された音声に基づく音声信号から第1音響エコーを抑制する。
【0119】
<2.動作>
端末装置10aの制御部180aが第1音響エコー、及び第2音響エコーを抑制する際の動作について説明する。以下では、端末装置10-1a,10-2aが同一の音響空間内に存在し、端末装置10-3aが異なる音響空間内に存在する場合を例に説明する。
【0120】
図8は、第2の実施形態に係るシステム1aの構成例を表すブロック図である。図8に示すシステム1aでは、端末装置10-1a,10-2aが同一の音響空間内に存在し、端末装置10-3aが異なる音響空間内に存在している。図8において、第1フィルタ演算部1831a、第1減算器1832a、第2フィルタ演算部1833a、及び第2減算器1834aは、端末装置10aの演算部183aの演算により実現される処理である。
【0121】
図9は、第2の実施形態に係る端末装置10aが音響エコーを抑制する際の動作の一例を示すフローチャートである。
【0122】
まず、端末装置10-1a~10-3aのユーザは、例えば、ウェブ会議を開始させる。端末装置10-1a~10-3aのユーザは、ウェブ会議を開始させると、所定の議題について議論する。
【0123】
例えば、端末装置10-3aのユーザが発した音声は端末装置10-3aのマイク134で集音される。端末装置10-3aは、マイク134で集音した音声に基づく音声信号をサーバ20aへ送信する。
【0124】
サーバ20aは、端末装置10-3aから受信した音声信号に対し、デコード処理、ミキシング処理、又はデコード処理を実行し、ウェブ会議に参加する他のユーザへ音声信号を送信する。つまり、サーバ20aは、端末装置10-3aからの音声信号を、端末装置10-1a,10-2aへ送信する。サーバ20aは、例えば、ネットワーク80に接続されたコンピュータにより実現される。なお、ミキシング処理は他の端末装置で実施する場合もあってもよい。また、Webで使用される各種技術の標準化団体であるWorld Wide Web Consortium(ワールド・ワイド・ウェブ・コンソーシアム)のメディアの通信の標準化規格WebRTCのようにサーバ20aでは接続制御のみを実施し、それぞれの端末装置の間で接続が確立した後にサーバ20aを経由せずピア・トゥ・ピアの通信で音声信号を端末装置10-1a、端末装置10-2a、端末装置10-3aのそれぞれの間で直接送受信し、エンコード処理、デコード処理又はミキシング処理も端末装置10-1a、端末装置10-2a、端末装置10-3aのそれぞれの端末装置で実施する場合もあってもよい。
【0125】
端末装置10-1aは、サーバ20aから音声信号を受信すると、第2フィルタ演算部1833aにより、受信した音声信号に含まれ得る第2音響エコーを推定した第2疑似信号を生成する(ステップS21)。具体的には、第2フィルタ演算部1833aは、記憶部170aに記憶している第3信号173に、第2フィルタ係数を畳み込んで第2疑似信号を推定する。第3信号173は、先の送信において、第2減算器1834aから出力されて記憶部170aに記憶されたものである。第2フィルタ係数は、自装置のスピーカ142から出力されて、他方の端末装置10aのマイク134で受音され、サーバ20aを経由して自装置に戻ってくるまでの伝達関数(インパルス応答)を時間軸で離散化した係数群である。伝達関数は、サーバ20aでの処理、及びネットワークによる伝送で生じる遅延よりも短い部分に該当する音響ループの伝達関数が零であると仮定して推定される。第2フィルタ演算部1833aは、推定した第2疑似信号を第2減算器1834aへ出力する。
【0126】
第2フィルタ演算部1833aは、第2減算器1834aから出力される信号に基づき、第2フィルタ係数を更新する。第2フィルタ演算部1833aは、第2フィルタ係数を適応的に修正する。つまり、第2フィルタ演算部1833aにより、適応フィルタが実現される。
【0127】
端末装置10-1aは、第2減算器1834aにより、サーバ20aから受信した音声信号から第2音響エコーを打ち消す(ステップS22)。具体的には、第2減算器1834aは、サーバ20aから受信した音声信号から、第2フィルタ演算部1833aで推定された第2疑似信号を減算する。第2減算器1834aは、減算後の信号をスピーカ142、及び第2フィルタ演算部1833aへ出力する。
【0128】
端末装置10-1aは、第2減算器1834aから出力された音声信号に基づく音声をスピーカ142から出力する。また、端末装置10-1aは、第2減算器1834aから出力された音声信号を第3信号173として記憶部170aに記憶する。
【0129】
端末装置10-1aは、マイク134により、音声を集音する。マイク134により集音される音声には、第1音響エコーA1が含まれ得る。また、マイク134により集音される音声には、第2音響エコーA2が含まれ得る。また、マイク134により集音される音声には、端末装置10-1aのユーザにより発せられた音声が含まれ得る。
【0130】
端末装置10-1aは、第1フィルタ演算部1831aにより、集音した音声に含まれる第1音響エコーA1を推定した第1疑似信号を生成する(ステップS23)。具体的には、第1フィルタ演算部1831aは、記憶部170aに記憶している第3信号173に、第1フィルタ係数を畳み込んで第1疑似信号を推定する。第1フィルタ係数は、端末装置10-1aのスピーカ142から、端末装置10-1aのマイク134への伝達関数(インパルス応答)を時間軸で離散化した係数群である。
【0131】
第1フィルタ演算部1831aは、第1減算器1832aから出力される信号に基づき、第1フィルタ係数を更新する。第1フィルタ演算部1831aは、第1フィルタ係数を適応的に修正する。つまり、第1フィルタ演算部1831aにより、適応フィルタが実現される。
【0132】
端末装置10-1aは、第1減算器1832aにより、マイク134から出力された音声信号から第1音響エコーA1を打ち消す(ステップS24)。具体的には、第1減算器1832aは、マイク134から出力される音声信号から、第1フィルタ演算部1831aで推定された第1疑似信号を減算する。端末装置10-1aは、第1減算器1832aによる減算後の信号を、サーバ20aへ送信する。
【0133】
以上のように、第2の実施形態では、端末装置10aは、演算部183aにより、遠隔通信を実施する第1端末装置のスピーカ142の前段において、遠隔通信を実施する第2端末装置(自装置以外の端末装置)のマイク134で受音された音声に基づく音声信号から疑似信号を減算する。端末装置10aは、演算部183aにより、第1端末装置のスピーカ142から再生されて端末装置10-2aのマイクで受音され、遠隔通信を実現するサーバ20aを経由して第1端末装置に到達すまでの伝達関数を、音声信号から疑似信号を減算した信号に畳み込んで疑似信号を生成する。端末装置10aは、音声信号から疑似信号を減算した信号を、第1端末装置のスピーカ142から送信するようにしている。
【0134】
このように、個々のマイク134、スピーカ142間のチャネル特性同定処理がデバイス独立処理になるように、第2減算器1834aをスピーカ142の前段へ移動させている。これにより、サーバ又は端末装置の計算量を軽減させることが可能となる。また、音声信号のリファレンス元を、自装置のスピーカ出力音声波形とするため、異なる端末装置の再生音声を用いず、自装置内で完結するため、実装が容易である。
【0135】
また、例えば、第2フィルタ演算部1833aと、第2減算器1834aとが、マイク134の後段に設置される場合、他の音響空間で発生したハウリング音が、スピーカ142から再生される可能性がある。本実施形態係るように、第2フィルタ演算部1833aと、第2減算器1834aとが、スピーカ142の前段に設置されることで、他の音響空間で発生したハウリングを抑圧することが可能となる。
【0136】
したがって、本実施形態に係る端末装置10aによれば、同一音響空間内に存在する端末装置間において、音響ループの発生を抑制できる。
【0137】
第2の実施形態では、演算部183aが、第2フィルタ演算部1833aと、第2減算器1834aとにより、音響ループの発生を抑制する場合を例に説明した。しかしながら、これに限定されない。演算部183aは、学習済みモデルを用いて音響ループの発生を抑制してもよい。
【0138】
学習済みモデルは、例えば、入力される音声信号に対し、第2擬似信号を出力するように学習されている。このとき、学習用データは、例えば、音声信号を入力データとし、この音声信号に対する第2擬似信号を正解出力データとする。学習済みモデルは、例えば、サーバ20aから受信した音声信号が入力されると、入力された音声信号に応じた第2疑似信号を出力する。
【0139】
また、学習済みモデルは、例えば、入力される音声信号に対し、音響ループによる影響を受けていない音声信号を出力するように学習されていてもよい。このとき、学習用データは、例えば、音声信号を入力データとし、音響ループによる影響を受けていない音声信号を正解出力データとする。学習済みモデルは、例えば、サーバ20aから受信した音声信号が入力されると、音響ループによる影響を受けていない音声信号を出力する。
【0140】
(変形例)
第2の実施形態では、端末装置10aが、演算部183aの一部(第2フィルタ演算部1833a、第2減算器1834a)の機能を実現する場合を例に説明した。しかしながら、演算部183aの一部(第2フィルタ演算部1833a、第2減算器1834a)の機能は、サーバ20aで実現されてもよい。
【0141】
図10は、本実施形態のシステム1aに含まれるサーバ20aの機能的な構成を示すブロック図である。図10に示すように、サーバ20aは、通信部201、記憶部202a、及び制御部203aとしての機能を発揮する。
【0142】
記憶部202aは、サーバ20aが使用するデータ及びプログラムを記憶する。具体的には、例えば、記憶部202aは、端末装置10aへ送信する信号である第3信号を記憶する第3信号DB2022を有する。
【0143】
第3信号DB2022は、遠隔通信に参加する端末装置10aへ送信する信号である第3信号を記憶する。
【0144】
制御部203aは、プロセッサ29が記憶部202aに記憶されるプログラムを読み込み、プログラムに含まれる命令を実行することにより実現される。制御部203aは、サーバ20の動作を制御する。具体的には、例えば、制御部203aは、送受信部2031、記憶制御部2032、通信制御部2033、演算部2034aとしての機能を発揮する。
【0145】
演算部2034aは、記憶部202aに記憶される第3信号に基づき、端末装置10aからの音声信号を合成した合成信号から、端末装置10aそれぞれで発生した第2音響エコーを抑制する。
【0146】
具体的には、例えば、演算部2034aは、フィルタ演算部及び減算器としての機能を実現する。演算部2034aは、フィルタ演算部により、合成信号に含まれ得る第2音響エコーを推定した第2疑似信号を生成する。具体的には、演算部2034aは、記憶部202aに記憶している第3信号に、第2フィルタ係数を畳み込んで第2疑似信号を推定する。第2フィルタ係数は、同一の音響空間に存在する一方の端末装置10aのスピーカ142から再生されて他方の端末装置10aのマイク134で受音され、サーバ20aを経由して一方の端末装置10aへ到達するまでの伝達関数(インパルス応答)を時間軸で離散化した係数群である。伝達関数は、サーバ20aでの処理、及びネットワークによる伝送で生じる遅延よりも短い部分に該当する音響ループの伝達関数が零であると仮定して推定される。フィルタ演算部は、推定した第2疑似信号を減算器へ出力する。
【0147】
フィルタ演算部は、減算器から出力される信号に基づき、第2フィルタ係数を更新する。フィルタ演算部は、第2フィルタ係数を適応的に修正する。つまり、フィルタ演算部により、適応フィルタが実現される。
【0148】
サーバ20aは、減算器により、合成信号から第2音響エコーを打ち消す。具体的には、減算器は、合成信号から、フィルタ演算部で推定された第2疑似信号を減算する。サーバ20aは、減算器による減算後の信号を端末装置10aへ出力する。
【0149】
(第3の実施形態)
同一の音響空間に端末装置10-1と端末装置10-2とが存在している場合、端末装置10-1を使用するユーザが発した音声が、端末装置10-2を使用するユーザに直接届く。また、端末装置10-1を使用するユーザが発した音声が、端末装置10-1のマイク134で受音され、サーバ20を経由して端末装置10-2のスピーカ142から出力されて、端末装置10-2を使用するユーザに届く。このような場合、端末装置10-2のユーザは、端末装置10-1のユーザから直接届く音声と、サーバ20を経由して出力された音声との2つの音声が二重に聞こえることになる。音声が二重で聞こえる現象はハウリングの前兆であり、音声が二重に聞こえる現象を抑えることでハウリングの発生を抑えることが可能となる。
第3の実施形態に係るシステム1bは、同一の音響空間に複数の端末装置10が存在する場合において、音声が二重に聞こえる現象を検出する。
【0150】
<1 全体構成>
第3の実施形態に係るシステム1bの構成は、図1に示す構成と同様である。システム1bは、端末装置10bと、サーバ20bとを備えている。
【0151】
<1.1 端末装置の構成>
端末装置10bは、通信部121と、入力装置13と、出力装置14と、カメラ160と、記憶部170bと、制御部180bとを備える。
【0152】
記憶部170bは、例えば、メモリ15、及びストレージ16等により実現され、端末装置10bが使用するデータ、及びプログラムを記憶する。具体的には、記憶部170bは、例えば、第1信号171、第2信号172を記憶する。
【0153】
第2信号172は、マイク134により集音された音声に基づく音声信号から第1音響エコーがキャンセルされた信号である。第2信号172は、自端末のマイク134で受音された音声信号から、他の端末装置10bのマイク134で受音された音声が遠隔通信を実現するサーバ20bを経由して、他の端末装置10bと同一の音響空間に存在する自装置へ到達した音声信号へ変換するための伝達特性を推定する際に、リファレンスとして用いられる。
【0154】
制御部180bは、プロセッサ19が記憶部170bに記憶されるプログラムを読み込み、プログラムに含まれる命令を実行することにより実現される。制御部180bは、端末装置10bの動作を制御する。具体的には、例えば、制御部180bは、操作受付部181、通信制御部182、演算部183b、検出部184b、操作部185b、及び表示制御部186bとしての機能を発揮する。
【0155】
演算部183bは、マイク134により集音された音声に基づく音声信号についての演算処理を実施する。具体的には、例えば、演算部183bは、記憶部170bに記憶される第1信号171に基づき、マイク134により集音された音声に基づく音声信号から第1音響エコーを抑制する。
【0156】
また、例えば、演算部183bは、記憶部170bに記憶される第2信号172に基づき、自端末のマイク134で受音された音声信号から、他の端末装置10bのマイク134で受音された音声が遠隔通信を実現するサーバ20bを経由して、他の端末装置10bと同一の音響空間に存在する自装置へ到達した音声信号へ変換するための伝達特性を推定する。演算部183は、推定した伝達関数に用い、他の端末装置10bのユーザから発せられた音響エコーの疑似信号を生成してもよい。
【0157】
検出部184bは、音声が二重に聞こえる現象を検出する。具体的には、例えば、検出部184bは、演算部183bにより推定された伝達関数に基づき、音声が二重に聞こえる現象が発生したか否かを判断する。より具体的には、検出部184bは、伝達関数の形状に基づき、現象が発生したか否かを判断する。検出部184bは、演算部183bにより生成された疑似信号に基づいて現象を検出してもよい。
【0158】
操作部185bは、マイク134及びスピーカ142を操作する。具体的には、例えば、操作部185bは、検出部184bにより現象が検出されると、マイク134で受音した音声の感度を下げ、又は、スピーカ142をボリュームダウンする。マイク134で受音した音声の感度を下げる操作には、例えば、マイク134の感度を下げる操作、又は、他の端末装置10bへ送信する経路の途中で感度を下げる操作が含まれる。操作部185bは、マイク134で受音した音声の感度を下げ、かつ、スピーカ142をボリュームダウンしてもよい。スピーカ142へ送信される音声信号のボリュームダウンの操作には、例えば、通信制御部182のミキサーからスピーカ142までの経路の途中で音声信号のボリュームダウンする場合、又は、通信制御部のミキサーの前の経路でボリュームダウンする場合が含まれ、また音声信号のボリュームダウンの量は音声信号がゼロになる場合が含まれる。操作部185は、例えば、音声信号のボリュームダウンの量は遠隔通信での会話内容が聞き取れ、かつ、音響ループが発生しない程度のスピーカ142の出力となるように操作する。
【0159】
表示制御部186bは、ユーザに対して種々の情報を提示するため、出力装置14を制御する。具体的には、例えば、表示制御部186bは、検出部184bにより現象が検出されると、現象が検出されたことをユーザに提示する。同時に、表示制御部186bは、マイク134で受音した音声の感度低下、又は、スピーカ142へ送信される音声のボリュームダウンを促す情報をユーザに提示する。表示制御部186bは、マイク134で受音した音声の感度低下と、スピーカ142へ送信される音声のボリュームダウンとを促す情報をユーザに提示してもよい。
【0160】
表示制御部186bによる情報の提示は、操作部185bによる操作と同時に実施されてもよい。また、表示制御部186bによる情報の提示は、操作部185bによる操作がされている場合は実行されないようにしてもよい。
【0161】
<2.動作>
端末装置10bの制御部180bが、音声が二重に聞こえる現象を検出し、検出結果に応じて端末装置10bを制御する際の動作について説明する。以下では、端末装置10-1b,10-2bが同一の音響空間内に存在し、端末装置10-3bが異なる音響空間内に存在する場合を例に説明する。
【0162】
図11は、第3の実施形態に係るシステム1bの構成例を表すブロック図である。図11に示すシステム1bでは、端末装置10-1b,10-2bが同一の音響空間内に存在し、端末装置10-3bが異なる音響空間内に存在している。図11において、第1フィルタ演算部1831、第1減算器1832、第2フィルタ演算部1833b、及び第2減算器1834bは、端末装置10bの演算部183bの演算により実現される処理である。
【0163】
図11では、端末装置10-1bのマイク134で集音される2種の音響エコーを示している。なお、図11では、端末装置10-1bに関連する音響エコーについて説明するが、端末装置10-2bにおいてもこれら音響エコーと同様の音響エコーが生じうる。
【0164】
図11において、第4音響エコーA4は、端末装置10-2bのユーザから発せられ、端末装置10-1bのマイク134で受音される音響エコーを示している。
【0165】
図11において、第5音響エコーA5は、端末装置10-2bのマイク134で受音された音声がサーバ20bを経由して、端末装置10-1bのスピーカ142から再生される音響エコーを示している。
【0166】
例えば、端末装置10-2bのユーザが発した音声は端末装置10-2bのマイク134で集音される。端末装置10-2bは、マイク134で集音した音声に基づく音声信号をサーバ20bへ送信する。
【0167】
サーバ20bは、端末装置10-2bから受信した音声信号に対し、デコード処理、ミキシング処理、又はデコード処理を実行し、ウェブ会議に参加する他のユーザへ音声信号を送信する。サーバ20bは、例えば、ネットワーク80に接続されたコンピュータにより実現される。なお、ミキシング処理は他の端末装置で実施する場合もあってもよい。また、Webで使用される各種技術の標準化団体であるWorld Wide Web Consortium(ワールド・ワイド・ウェブ・コンソーシアム)のメディアの通信の標準化規格WebRTCのようにサーバ20bでは接続制御のみを実施し、それぞれの端末装置の間で接続が確立した後にサーバ20bを経由せずピア・トゥ・ピアの通信で音声信号を端末装置10-1b、端末装置10-2b、端末装置10-3bのそれぞれの間で直接送受信し、エンコード処理、デコード処理又はミキシング処理も端末装置10-1b、端末装置10-2b、端末装置10-3bのそれぞれの端末装置で実施する場合もあってもよい。
【0168】
端末装置10-1bは、第2フィルタ演算部1833bにより、受信した音声信号に含まれ得る第5音響エコーA5を推定した第2疑似信号を生成する。具体的には、第2フィルタ演算部1833bは、記憶部170bに記憶している第2信号172に、第2フィルタ係数を畳み込んで第2疑似信号を推定する。第2信号172は、先の送信において、第1減算器1832から出力されて記憶部170bに記憶されたものである。第2フィルタ係数は、端末装置10-1bのマイク134で受音された音声信号から、端末装置10-2bのマイク134で受音された音声が遠隔通信を実現するサーバ20bを経由して、端末装置10-1bへ到達した音声信号へ変換するための伝達特性(インパルス応答)を時間軸で離散化した係数群である。伝達関数は、サーバ20bでの処理、及びネットワークによる伝送で生じる遅延よりも短い部分に該当する音響エコーの伝達関数が零であると仮定して推定される。第2フィルタ演算部1833bは、推定した第2疑似信号を検出部184b、及び第2減算器1834bへ出力する。
【0169】
第2フィルタ演算部1833bは、第2減算器1834bから出力される信号に基づき、第2フィルタ係数を更新する。第2フィルタ演算部1833bは、第2フィルタ係数を適応的に修正する。つまり、第2フィルタ演算部1833bにより、適応フィルタが実現される
【0170】
端末装置10-1bは、第2減算器1834bにより、サーバ20bから受信した信号から第5音響エコーA5を打ち消す。具体的には、第2減算器1834bは、サーバ20bから受信した信号から、第2フィルタ演算部1833bで推定された第2疑似信号を減算する。第2減算器1834bは、減算後の信号を第2フィルタ演算部1833bへ出力する。
【0171】
端末装置10-1bは、受信した音声信号に基づく音声をスピーカ142から出力する。また、端末装置10-1bは、受信した音声信号を第1信号171として記憶部170bに記憶する。
【0172】
端末装置10-1bは、マイク134により、音声を集音する。マイク134により集音される音声には、第1音響エコーA1が含まれ得る。また、マイク134により集音される音声には、第4音響エコーA4が含まれ得る。
【0173】
端末装置10-1bは、第1フィルタ演算部1831により、集音した音声に含まれる第1音響エコーA1を推定した第1疑似信号を生成する。具体的には、第1フィルタ演算部1831は、記憶部170に記憶している第1信号171に、第1フィルタ係数を畳み込んで第1疑似信号を推定する。第1フィルタ係数は、端末装置10-1のスピーカ142から、端末装置10-1のマイク134への伝達関数(インパルス応答)を時間軸で離散化した係数群である。
【0174】
第1フィルタ演算部1831は、第1減算器1832から出力される信号に基づき、第1フィルタ係数を更新する。第1フィルタ演算部1831は、第1フィルタ係数を適応的に修正する。つまり、第1フィルタ演算部1831により、適応フィルタが実現される。
【0175】
端末装置10-1bは、第1減算器1832により、マイク134から出力された音声信号から第1音響エコーA1を打ち消す。第1減算器1832は、減算後の信号を出力する。端末装置10-1bは、減算後の信号を第2信号172として記憶部170bに記憶する。
【0176】
端末装置10-1bは、検出部184bにより、推定した第2疑似信号に基づき、音声が二重に聞こえる現象が発生したか否かを判断する。具体的には、例えば、検出部184bは、生成された第2疑似信号の形状が、予め設定された形状となった場合、現象が発生したと判断する。また、例えば、検出部184bは、生成された第2疑似信号のパワーが予め設定された閾値を超えた場合、現象が発生したと判断する。
【0177】
端末装置10-1bは、検出部184bにより音響ループが検出されると、操作部185bにより、マイク134及びスピーカ142を操作する。具体的には、例えば、操作部185bは、検出部184bにより現象が検出されると、マイク134で受音した音声の感度を下げ、又は、スピーカ142へ送信される音声をボリュームダウンする。また、例えば、操作部185bは、検出部184bにより現象が検出されると、マイク134で受音した音声の感度を下げ、かつ、スピーカ142へ送信される音声をボリュームダウンする。
【0178】
なお、検出部184bが現象を検出すると、端末装置10-1は、操作部185bに代えて表示制御部186bを動作させてもよい。例えば、端末装置10-1bは、検出部184bにより現象が検出されると、表示制御部186bにより、マイク134及びスピーカ142の操作を促す情報をユーザに提示してもよい。
【0179】
また、上記説明では、端末装置10-1bが、第2フィルタ演算部1833bにより第2疑似信号を算出し、検出部184bにより第2疑似信号に基づき、現象が発生したか否かを判断する場合を説明した。しかしながら、端末装置10-1bは、現象が発生したか否かを、端末装置10-2bのマイク134で受音された音声がサーバ20bを経由して、端末装置10-1bへ到達するまでの伝達関数(インパルス応答)に基づいて判断してもよい。
【0180】
以上のように、第3の実施形態では、端末装置10bは、演算部183bにより、端末装置10-1bのマイク134で受音された音声信号から、端末装置10-2bのマイク134で受音された音声が遠隔通信を実現するサーバ20bを経由して、端末装置10-1bへ到達した音声信号へ変換するための伝達関数を推定する。端末装置10bは、検出部184bにより、伝達関数の形状に基づき、音声が二重に聞こえる現象の発生の有無を検出する。端末装置10bは、現象の発生を検出すると、操作部185b、又は表示制御部186bにより、自装置を操作するようにしている。これにより、システム1bは、音声が二重に聞こえる現象を解消することが可能となる。また、システム1bは、音声が二重に聞こえる現象を解消することが可能となるため、ハウリングの発生を抑えることが可能となる。
【0181】
第3の実施形態では、演算部183bが、第2フィルタ演算部1833bと、第2減算器1834bとにより、音声が二重に聞こえる現象を検出する場合を例に説明した。しかしながら、これに限定されない。演算部183bは、学習済みモデルを用いて現象を検出してもよい。
【0182】
学習済みモデルは、例えば、入力される音声信号に対し、インパルス応答を出力するように学習されている。このとき、学習用データは、例えば、音声信号を入力データとし、この音声信号に対するインパルス応答を正解出力データとする。学習済みモデルは、例えば、第1減算器1832から出力される信号が入力されると、入力された音声信号に応じたインパルス応答を出力する。
【0183】
また、学習済みモデルは、例えば、第2擬似信号を出力するように学習されている。このとき、学習用データは、例えば、音声信号を入力データとし、この音声信号に対する第2擬似信号を正解出力データとする。学習済みモデルは、例えば、第1減算器1832から出力される信号が入力されると、入力された音声信号に応じた第2疑似信号を出力する。
【0184】
学習済みモデルは、例えば、入力される音声信号に対し、音声が二重に聞こえる現象の発生の有無を出力するように学習されていてもよい。このとき、学習用データは、例えば、音声信号を入力データとし、音声が二重に聞こえる現象が発生しているか否かを正解出力データとする。学習済みモデルは、例えば、第1減算器1832から出力される信号が入力されると、音声が二重に聞こえる現象が発生しているか否かを出力する。この場合、演算部183bが、検出部184bの機能を担うと換言可能である。
【0185】
また、第3の実施形態では、端末装置10bは、他の端末装置10bのうちいずれかを同一の音響空間に存在すると判断する機能を有していてもよい。例えば、制御部180は、プロセッサ19が記憶部170に記憶されるプログラムを読み込み、プログラムに含まれる命令を実行することにより、判断部としての機能を発揮してもよい。判断部の機能は、例えば、第1の実施形態で説明した判断部と同様の機能を有する。
【0186】
検出部184bは、例えば、判断部による判断結果を利用し、検出した音声が二重に聞こえる現象が、自装置が存在する音響空間で発生したものであるかを判断する。検出した現象が、自装置が存在する音響空間で発生した現象でない場合、例えば、検出部184bは、現象は発生していないと判断する。これにより、検出部184bは、同一の音響空間で発生した現象を検出することが可能となる。
【0187】
また、第3の実施形態では、端末装置10bが、演算部183bの一部(第2フィルタ演算部1833b、第2減算器1834b)、検出部184b、操作部185b、表示制御部186bの機能を実現する場合を例に説明した。しかしながら、演算部183bの一部(第2フィルタ演算部1833b、第2減算器1834b)、検出部184b、操作部185b、表示制御部186bの機能は、サーバ20bで実現されてもよい。
【0188】
また、第1の実施形態で説明したハウリング検出の機能と、第3の実施形態で説明した、音声が二重に聞こえる現象を検出する機能とは同時に備えられてもよい。また、第2の実施形態で説明したハウリング抑制の機能と、第3の実施形態で説明した、音声が二重に聞こえる現象を検出する機能とは同時に備えられてもよい。これにより、音声が二重に聞こえる現象を解消することで、ハウリングを抑制し、突発的にハウリングが発生しまったとしてもハウリングを解消することが可能となる。
【0189】
(第4の実施形態)
第4の実施形態に係るシステム1cは、同一の音響空間に複数の端末装置10が存在する場合において、音声が二重に聞こえる現象を抑制する。
【0190】
<1 全体構成>
第4の実施形態に係るシステム1cの構成は、図1に示す構成と同様である。システム1cは、端末装置10cと、サーバ20cとを備えている。
【0191】
<1.1 端末装置の構成>
端末装置10cは、通信部121と、入力装置13と、出力装置14と、カメラ160と、記憶部170cと、制御部180cとを備える。
【0192】
記憶部170cは、例えば、メモリ15、及びストレージ16等により実現され、端末装置10cが使用するデータ、及びプログラムを記憶する。具体的には、記憶部170cは、例えば、第1信号171、第2信号172を記憶する。
【0193】
第2信号172は、マイク134により集音された音声に基づく音声信号から第1音響エコーがキャンセルされた信号である。第2信号172は、自端末のマイク134で受音された音声信号から、他の端末装置10bのマイク134で受音された音声が遠隔通信を実現するサーバ20bを経由して、他の端末装置10bと同一の音響空間に存在する自装置へ到達した音声信号へ変換するための伝達特性を推定する際に、リファレンスとして用いられる。
【0194】
制御部180cは、プロセッサ19が記憶部170cに記憶されるプログラムを読み込み、プログラムに含まれる命令を実行することにより実現される。制御部180cは、端末装置10cの動作を制御する。具体的には、例えば、制御部180cは、操作受付部181、通信制御部182、演算部183cとしての機能を発揮する。
【0195】
演算部183cは、サーバ20cから受信した音声信号と、マイク134により集音された音声に基づく音声信号とについての演算処理を実施する。具体的には、例えば、演算部183cは、記憶部170cに記憶される第1信号171に基づき、マイク134により集音された音声に基づく音声信号から第1音響エコーを抑制する。また、例えば、演算部183cは、記憶部170cに記憶される第2信号172に基づき、音声信号から第5音響エコーを抑制する。
【0196】
<2.動作>
端末装置10cの制御部180cが第1音響エコー、及び第5音響エコーを抑制する際の動作について説明する。以下では、端末装置10-1c,10-2cが同一の音響空間内に存在し、端末装置10-3cが異なる音響空間内に存在する場合を例に説明する。
【0197】
図12は、第4の実施形態に係るシステム1cの構成例を表すブロック図である。図12に示すシステム1cでは、端末装置10-1c,10-2cが同一の音響空間内に存在し、端末装置10-3cが異なる音響空間内に存在している。図12において、第1フィルタ演算部1831、第1減算器1832、第2フィルタ演算部1833c、及び第2減算器1834cは、端末装置10cの演算部183cの演算により実現される処理である。
【0198】
例えば、端末装置10-2cのユーザが発した音声は端末装置10-2cのマイク134で集音される。端末装置10-2cは、マイク134で集音した音声に基づく音声信号をサーバ20cへ送信する。
【0199】
サーバ20cは、端末装置10-2cから受信した音声信号に対し、デコード処理、ミキシング処理、又はデコード処理を実行し、ウェブ会議に参加する他のユーザへ音声信号を送信する。つまり、サーバ20cは、端末装置10-2cからの音声信号を、端末装置10-1c,10-3cへ送信する。サーバ20bは、例えば、ネットワーク80に接続されたコンピュータにより実現される。なお、ミキシング処理は他の端末装置で実施する場合もあってもよい。また、Webで使用される各種技術の標準化団体であるWorld Wide Web Consortium(ワールド・ワイド・ウェブ・コンソーシアム)のメディアの通信の標準化規格WebRTCのようにサーバ20bでは接続制御のみを実施し、それぞれの端末装置の間で接続が確立した後にサーバ20bを経由せずピア・トゥ・ピアの通信で音声信号を端末装置10-1c、端末装置10-2c、端末装置10-3cのそれぞれの間で直接送受信し、エンコード処理、デコード処理又はミキシング処理も端末装置10-1c、端末装置10-2c、端末装置10-3cのそれぞれの端末装置で実施する場合もあってもよい。
【0200】
端末装置10-1cは、第2フィルタ演算部1833cにより、受信した音声信号に含まれ得る第5音響エコーA5を推定した第2疑似信号を生成する。具体的には、第2フィルタ演算部1833cは、記憶部170cに記憶している第2信号172に、第2フィルタ係数を畳み込んで第2疑似信号を推定する。第2信号172は、先の送信において、第1減算器1832から出力されて記憶部170cに記憶されたものである。第2フィルタ係数は、端末装置10-1cのマイク134で受音された音声信号から、端末装置10-2cのマイク134で受音された音声が遠隔通信を実現するサーバ20cを経由して、端末装置10-1cへ到達した音声信号へ変換するための伝達特性(インパルス応答)を時間軸で離散化した係数群である。伝達関数は、サーバ20cでの処理、及びネットワークによる伝送で生じる遅延よりも短い部分に該当する音響エコーの伝達関数が零であると仮定して推定される。第2フィルタ演算部1833cは、推定した第2疑似信号を第2減算器1834cへ出力する。
【0201】
第2フィルタ演算部1833cは、第2減算器1834cから出力される信号に基づき、第2フィルタ係数を更新する。第2フィルタ演算部1833cは、第2フィルタ係数を適応的に修正する。つまり、第2フィルタ演算部1833cにより、適応フィルタが実現される。
【0202】
端末装置10-1cは、第2減算器1834cにより、サーバ20cから受信した音声信号から第5音響エコーを打ち消す。具体的には、第2減算器1834cは、サーバ20cから受信した音声信号から、第2フィルタ演算部1833cで推定された第2疑似信号を減算する。第2減算器1834cは、減算後の信号をスピーカ142、及び第2フィルタ演算部1833cへ出力する。
【0203】
端末装置10-1cは、第2減算器1834cから出力された音声信号に基づく音声をスピーカ142から出力する。また、端末装置10-1cは、第2減算器1834cから出力された音声信号を第1信号171として記憶部170cに記憶する。
【0204】
端末装置10-1cは、マイク134により、音声を集音する。マイク134により集音される音声には、第1音響エコーA1が含まれ得る。また、マイク134により集音される音声には、第4音響エコーA4が含まれ得る。
【0205】
端末装置10-1cは、第1フィルタ演算部1831により、集音した音声に含まれる第1音響エコーA1を推定した第1疑似信号を生成する。具体的には、第1フィルタ演算部1831は、記憶部170cに記憶している第1信号171に、第1フィルタ係数を畳み込んで第1疑似信号を推定する。第1フィルタ係数は、端末装置10-1cのスピーカ142から、端末装置10-1cのマイク134への伝達関数(インパルス応答)を時間軸で離散化した係数群である。
【0206】
第1フィルタ演算部1831は、第1減算器1832から出力される信号に基づき、第1フィルタ係数を更新する。第1フィルタ演算部1831は、第1フィルタ係数を適応的に修正する。つまり、第1フィルタ演算部1831により、適応フィルタが実現される。
【0207】
端末装置10-1cは、第1減算器1832により、マイク134から出力された音声信号から第1音響エコーA1を打ち消す。第1減算器1832は、減算後の信号を出力する。端末装置10-1cは、減算後の信号を第2信号172として記憶部170cに記憶する。
【0208】
以上のように、第4の実施形態では、端末装置10cは、演算部183cにより、遠隔通信を実施する第1端末装置のスピーカ142の前段において、遠隔通信を実施する第2端末装置のマイク134で受音された音声に基づく音声信号から疑似信号を減算する。端末装置10cは、演算部183cにより、端末装置10-1bのマイク134で受音された音声信号から、端末装置10-2bのマイク134で受音された音声が遠隔通信を実現するサーバ20bを経由して、端末装置10-1bへ到達した音声信号へ変換するための伝達関数を、第1端末装置のマイク134で受音された音声信号に畳み込んで疑似信号を生成する。端末装置10cは、音声信号から疑似信号を減算した信号を、第1端末装置のスピーカから再生するようにしている。これにより、システム1cは、音声が二重に聞こえる現象を解消することが可能となる。また、システム1cは、音声が二重に聞こえる現象を解消することが可能となるため、ハウリングの発生を抑えることが可能となる。
【0209】
第4の実施形態では、演算部183bが、第2フィルタ演算部1833cと、第2減算器1834cとにより、音声が二重に聞こえる現象を解消する場合を例に説明した。しかしながら、これに限定されない。演算部183cは、学習済みモデルを用いて現象を抑えてもよい。
【0210】
学習済みモデルは、例えば、入力される音声信号に対し、第2擬似信号を出力するように学習されている。このとき、学習用データは、例えば、音声信号を入力データとし、この音声信号に対する第2擬似信号を正解出力データとする。学習済みモデルは、例えば、第1減算器1832から出力される信号が入力されると、入力された音声信号に応じた第2疑似信号を出力する。
【0211】
また、学習済みモデルは、例えば、入力される音声信号に対し、音声が二重に聞こえる現象による影響を受けていない音声信号を出力するように学習されていてもよい。このとき、学習用データは、例えば、音声信号を入力データとし、音声が二重に聞こえる現象による影響を受けていない音声信号を正解出力データとする。学習済みモデルは、例えば、第1減算器1832から出力される信号が入力されると、現象による影響を受けていない音声信号を出力する。
【0212】
また、第4の実施形態では、端末装置10cが、演算部183cの一部(第2フィルタ演算部1833c、第2減算器1834c)、検出部184c、操作部185c、表示制御部186cの機能を実現する場合を例に説明した。しかしながら、演算部183cの一部(第2フィルタ演算部1833c、第2減算器1834c)、検出部184c、操作部185c、表示制御部186cの機能は、サーバ20cで実現されてもよい。
【0213】
また、第1の実施形態で説明したハウリング検出の機能と、第4の実施形態で説明した、音声が二重に聞こえる現象を抑制する機能とは同時に備えられてもよい。また、第2の実施形態で説明したハウリング抑制の機能と、第4の実施形態で説明した、音声が二重に聞こえる現象を抑制する機能とは同時に備えられてもよい。これにより、音声が二重に聞こえる現象を解消することで、ハウリングを抑制し、突発的にハウリングが発生しまったとしてもハウリングを解消することが可能となる。
【0214】
(その他の実施形態)
第1の実施形態では、演算部2034は、マイク134で集音された音声に基づく音声信号に第1疑似信号を逆位相で合算することで、第1音響エコーをキャンセルする例を説明した。また、第2の実施形態では、演算部2034aは、サーバ20aから受信した音声信号に第2疑似信号を逆位相で合算することで、第2音響エコーをキャンセルし、マイク134で集音された音声に基づく音声信号に第1疑似信号を逆位相で合算することで、第1音響エコーをキャンセルする例を説明した。しかしながら、演算部2034,2034aにおいて、音響エコーは、位相情報以外の情報に基づいてキャンセルされてもよい。例えば、演算部2034,2034aは、周波数情報に基づいて第1疑似信号、及び第2疑似信号を生成し、音響エコーをキャンセルしてもよい。より具体的には、演算部2034,2034aは、周波数毎のパワー情報に基づき、第1疑似信号、第2疑似信号、又は両方の信号を生成してもよい。
【0215】
ウェブ会議等の遠隔通信では、音声は圧縮されて送信される。この圧縮(デコード)処理により、音声知覚への影響の小さい位相情報が失われることが多い。位相情報を考慮しないで疑似信号を生成することにより、遠隔通信の種類、つまりは、ウェブ会議システムの種類に依存しないシステムの構築が可能となる。
【0216】
また、上記実施形態では、信号から余分な信号を消す方法として、音声波形を数値減算する方法を例に説明した。しかしながら、信号から余分な信号を消す方法は、信号から余分な信号を抑圧する方法と換言可能である。信号から余分な信号を抑圧する方法には、例えば、スペクトラムサブトラクションの様に周波数軸上のパワーを抑圧する方法や、ウィーナーフィルタの様に、パワーを抑圧する方法が存在する。
【0217】
以上、本開示のいくつかの実施形態を説明したが、これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものとする。
【0218】
<付記>
以上の各実施形態で説明した事項を以下に付記する。
【0219】
(付記1)
プロセッサ19と、メモリ15とを備えるコンピュータに実行させるためのプログラムであって、プログラムは、プロセッサに、遠隔通信を実施する第1端末装置のマイク134で受音された音声が、遠隔通信を実施する第2端末装置のスピーカ142から再生され、第1端末装置のマイク134で再び受音される音響ループの発生の有無を検出するステップ(ステップS14)と、音響ループの発生を検出すると、第1端末装置を操作するステップ(ステップS15)とを実行させるプログラム。
【0220】
(付記2)
第1端末装置のマイクで受音された音声が、第2端末装置のスピーカから再生され、第1端末装置のマイクで再び受音されるまでの伝達関数を推定するステップをプロセッサに実行させ、検出するステップにおいて、伝達関数の形状に基づいて音響ループの発生の有無を検出する(付記1)に記載のプログラム。
【0221】
(付記3)
推定するステップにおいて、伝達関数を、第1端末装置のマイクからの信号に畳み込んで疑似信号を生成し、検出するステップにおいて、疑似信号のパワー、又は疑似信号の形状に基づいて音響ループの発生の有無を検出する(付記2)に記載のプログラム。
【0222】
(付記4)
第1端末装置のマイクで受音された音声が、第2端末装置のスピーカから再生され、第1端末装置のマイクで再び受音される信号を疑似的に生成するステップをプロセッサに実行させ、検出するステップにおいて、疑似信号のパワー、又は疑似信号の形状に基づいて音響ループの発生の有無を検出する(付記1)に記載のプログラム。
【0223】
(付記5)
操作するステップにおいて、第1端末装置のスピーカへ送信する音声のボリュームダウンを操作し、かつ、第1端末装置のマイクに到来する音声が後段へ伝わらなくなる操作をする(付記1)乃至(付記4)のいずれかに記載のプログラム。
【0224】
(付記6)
操作するステップにおいて、第1端末装置のスピーカへ送信する音声のボリュームダウンを操作し、かつ、第1端末装置のマイクに到来する音声が後段へ伝わらなくなる操作をする提案をユーザに提示する(付記1)乃至(付記5)のいずれかに記載のプログラム。
【0225】
(付記7)
検出するステップにおいて、音響ループの解消の有無を検出し、操作するステップにおいて、音響ループの解消を検出すると、第1端末装置を操作する(付記1)乃至(付記6)のいずれかに記載のプログラム。
【0226】
(付記8)
操作するステップにおいて、第1端末装置のスピーカへ送信する音声のボリュームダウンの操作を解除し、かつ、第1端末装置のマイクに到来する音声が後段へ伝わらなくなる操作を解除する(付記7)に記載のプログラム。
【0227】
(付記9)
操作するステップにおいて、第1端末装置のスピーカの出力は、音響ループの発生前よりも小さく、第1端末装置のマイクの感度は、音響ループの発生前よりも低い(付記8)に記載のプログラム。
【0228】
(付記10)
操作するステップにおいて、第1端末装置へ送信する音声のボリュームダウンの操作を解除し、かつ、第1端末装置のマイクに到来する音声が後段へ伝わらなくなる操作を解除する提案をユーザに提示する(付記7)乃至(付記9)のいずれかに記載のプログラム。
【0229】
(付記11)
第1端末装置からの音声信号と、第2端末装置からの音声信号とに基づき、第1端末装置と、第2端末装置とが同一音響空間に存在するか否かを判断するステップをプロセッサに実行させ、検出するステップにおいて、第1端末装置と第2端末装置とが同一音響空間に存在していない場合、音響ループは発生していないと判断する(付記1)乃至(付記10)のいずれかに記載のプログラム。
【0230】
(付記12)
プロセッサと、メモリとを備えるコンピュータが実行する方法であって、遠隔通信を実施する第1端末装置のマイクで受音された音声が、遠隔通信を実施する第2端末装置のスピーカから再生され、第1端末装置のマイクで再び受音される音響ループの発生の有無を検出するステップと、音響ループの発生を検出すると、第1端末装置を操作するステップとを実行する方法。
【0231】
(付記13)
プロセッサと、メモリとを備える情報処理装置であって、前記プロセッサが、遠隔通信を実施する第1端末装置のマイクで受音された音声が、遠隔通信を実施する第2端末装置のスピーカから再生され、第1端末装置のマイクで再び受音される音響ループの発生の有無を検出するステップと、音響ループの発生を検出すると、第1端末装置を操作するステップとを実行する情報処理装置。
【0232】
(付記14)
遠隔通信を実施する第1端末装置のマイクで受音された音声が、遠隔通信を実施する第2端末装置のスピーカから再生され、第1端末装置のマイクで再び受音される音響ループの発生の有無を検出する手段と、音響ループの発生を検出すると、第1端末装置を操作する手段とを具備するシステム。
【0233】
(付記15)
プロセッサと、メモリとを備えるコンピュータに実行させるためのプログラムであって、前記プログラムは、前記プロセッサに、遠隔通信を実施する第1端末装置のスピーカの前段において、遠隔通信を実施する第2端末装置のマイクで受音された音声に基づく音声信号から、第1端末装置のスピーカから再生されて第2端末装置のマイクで受音されて第1端末装置に到達する信号を抑圧した信号を、音声信号に基づいて出力するステップと、出力された信号を、第1端末装置のスピーカから再生するステップとを実行させるプログラム。
【0234】
(付記16)
第1端末装置のスピーカの前段において、第2端末装置のマイクで受音された音声に基づく音声信号に基づき、第1端末装置のスピーカから再生されて第2端末装置のマイクで受音され、第1端末装置に到達する疑似信号を生成するステップをプロセッサに実行させ、出力するステップにおいて、第2端末装置のマイクで受音された音声に基づく音声信号から疑似信号を抑圧することで、信号を出力する(付記15)に記載のプログラム。
【0235】
(付記17)
疑似信号を生成するステップにおいて、第1端末装置のスピーカから再生されて第2端末装置のマイクで受音され、第1端末装置に到達するまでの伝達関数を、音声信号から疑似信号を抑圧した信号に畳み込んで疑似信号を生成する(付記16)に記載のプログラム。
【0236】
(付記18)
遠隔通信を実現するサーバ、又はネットワークで生じる遅延よりも短い部分に該当する音響ループの伝達関数は零であることを仮定して伝達関数を推定する(付記2)又は(付記17)に記載のプログラム。
【0237】
(付記19)
プロセッサと、メモリとを備えるコンピュータが実行する方法であって、遠隔通信を実施する第1端末装置のスピーカの前段において、遠隔通信を実施する第2端末装置のマイクで受音された音声に基づく音声信号から、第1端末装置のスピーカから再生されて第2端末装置のマイクで受音されて第1端末装置に到達する信号を抑圧した信号を、音声信号に基づいて出力するステップと、出力された信号を、第1端末装置のスピーカから再生するステップとを実行する方法。
【0238】
(付記20)
プロセッサと、メモリとを備える情報処理装置であって、プロセッサが、遠隔通信を実施する第1端末装置のスピーカの前段において、遠隔通信を実施する第2端末装置のマイクで受音された音声に基づく音声信号から、第1端末装置のスピーカから再生されて第2端末装置のマイクで受音されて第1端末装置に到達する信号を抑圧した信号を、音声信号に基づいて出力するステップと、出力された信号を、第1端末装置のスピーカから再生するステップとを実行する情報処理装置。
【0239】
(付記21)
遠隔通信を実施する第1端末装置のスピーカの前段において、遠隔通信を実施する第2端末装置のマイクで受音された音声に基づく音声信号から、第1端末装置のスピーカから再生されて第2端末装置のマイクで受音されて第1端末装置に到達する信号を抑圧した信号を、音声信号に基づいて出力する手段と、出力された信号を、第1端末装置のスピーカから再生する手段とを具備するシステム。
【0240】
(付記22)
プロセッサと、メモリとを備えるコンピュータに実行させるためのプログラムであって、プログラムは、プロセッサに、遠隔通信を実施する第1端末装置のマイクで受音された音声が、遠隔通信を実施する第2端末装置へ到達して再生されることで、音声が二重に聞こえる現象の発生の有無を検出するステップと、現象の発生を検出すると、第2端末装置を操作するステップとを実行させるプログラム。
【0241】
(付記23)
第1端末装置のマイクで受音された音声から、第2端末装置のマイクで受音された音声が第1端末装置へ到達した音声信号へ変換するための伝達関数を推定するステップをプロセッサに実行させ、検出するステップにおいて、伝達関数の形状に基づき、音声が二重に聞こえる現象の発生の有無を検出する(付記22)に記載のプログラム。
【0242】
(付記24)
推定するステップにおいて、伝達関数を、第1端末装置のマイクからの信号に畳み込んで疑似信号を生成し、検出するステップにおいて、疑似信号のパワー、又は疑似信号の形状に基づいて音声が二重に聞こえる現象の発生の有無を検出する(付記23)に記載のプログラム。
【0243】
(付記25)
第1端末装置のマイクで受音された音声が、第2端末装置へ到達する音声信号を疑似的に生成するステップをプロセッサに実行させ、検出するステップにおいて、疑似信号のパワー、又は疑似信号の形状に基づいて音声が二重に聞こえる現象の発生の有無を検出する(付記22)に記載のプログラム。
【0244】
(付記26)
プロセッサと、メモリとを備えるコンピュータに実行させるためのプログラムであって、プログラムは、プロセッサに、遠隔通信を実施する第1端末装置のスピーカの前段において、遠隔通信を実施する第2端末装置のマイクで受音された音声に基づく音声信号から、第2端末装置のマイクで受音された音声が第1端末装置へ到達した信号を抑圧した信号を、音声信号に基づいて出力するステップと、出力された信号を、第1端末装置のスピーカから再生するステップとを実行させるプログラム。
【0245】
(付記27)
第1端末装置のスピーカの前段において、第1端末装置のマイクで受音された音声信号に基づき、第2端末装置のマイクで受音された音声が第1端末装置へ到達する疑似信号を生成するステップをプロセッサに実行させ、出力するステップにおいて、第2端末装置のマイクで受音された音声に基づく音声信号から疑似信号を抑圧することで、信号を出力する(付記26)に記載のプログラム。
【0246】
(付記28)
疑似信号を生成するステップにおいて、第1端末装置のマイクで受音された音声信号から、第2端末装置のマイクで受音された音声が第1端末装置へ到達した音声信号へ変換するための伝達関数を、第1端末装置のマイクで受音された音声信号に畳み込んで疑似信号を生成する(付記27)に記載のプログラム。
【符号の説明】
【0247】
1,1a…システム
10,10a…端末装置
121…通信部
13…入力装置
131…マウス
132…キーボード
133…タッチ・センシティブ・デバイス
134…マイク
14…出力装置
141…ディスプレイ
142…スピーカ
15…メモリ
16…ストレージ
160…カメラ
170,170a…記憶部
180,180a…制御部
181…操作受付部
182…通信制御部
183,183a…演算部
1831,1831a…第1フィルタ演算部
1832,1832a…第1減算器
1833,1833a…第2フィルタ演算部
1834,1834a…第2減算器
184…検出部
185…操作部
186…表示制御部
19…プロセッサ
20,20a…サーバ
201…通信部
202,202a…記憶部
203,203a…制御部
2031…送受信部
2032…記憶制御部
2033…通信制御部
2034,2034a…演算部
2035…検出部
2036…操作部
2037…提示部
25…メモリ
26…ストレージ
29…プロセッサ
80…ネットワーク
2021…第2信号DB
2022…第3信号DB


図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12