(57)【要約】【課題】メイン音声とキャンセル音声との周波数が一致せず、サンプリング・レートの変換が逓倍でもなく、かつ、メイン音声とキャンセル音声とのクロック周波数が異なる場合であっても、ソフトウェアによって音声エコーを除去すること。【解決手段】ユーザ２０側の音声通話装置４０に入力された、ユーザ２０によって発声された音声からなる第１の音声データと、ユーザ２０側の音声通話装置４０に入力された、ユーザ２０によって発声された音声が、相手２３側の音声通話装置５０からユーザ２０側に送信されてなる第２の音声データとを、条件を一致させてエコーキャンセラ３０に入力すること。【選択図】図１
2015220468.tif 000002
【特許請求の範囲】
【請求項１】
音声通話装置を用いて通話した場合、ユーザによって発声された音声が、相手側の音声通話装置からユーザ側に送信されることによって生じる音声エコーを除去するためのシステムであって、
前記ユーザ側の音声通話装置に入力された、前記ユーザによって発声された音声を第１の音声データとして保持する第１の音声バッファと、
前記ユーザ側の音声通話装置に入力された、前記ユーザによって発声された音声が、前記相手側の音声通話装置から前記ユーザ側に送信されてなる第２の音声データを保持する第２の音声バッファと、
エコーキャンセラと、
前記第１の音声バッファに保持された第１の音声データと、前記第２の音声バッファに保持された第２の音声データとを、条件を一致させて前記エコーキャンセラに入力する入力手段と
を備え、
前記エコーキャンセラが、前記第１の音声データを用いて、前記第２の音声データを打ち消し、前記第２の音声データが、前記ユーザ側の音声通話装置へ送信されないようにする、音声エコー除去システム。
【請求項２】
前記条件は、音声データのサイズ、音声データのサンプリング・レート、および音声データが前記エコーキャンセラに入力されるタイミングである、請求項１に記載の音声エコー除去システム。
【請求項３】
前記入力手段は、前記第１の音声データを取り扱う第１の入力手段と、前記第２の音声データを取り扱う第２の入力手段とを備え、
前記第１の入力手段と、前記第２の入力手段とは、それぞれ独立して動作する、請求項１または２に記載の音声エコー除去システム。
【請求項４】
前記ユーザ側の音声通話装置と前記相手側の音声通話装置とよって構成されたテレビ会議システムに適用された、請求項１乃至３のうちの何れか１項に記載の音声エコー除去システム。
【請求項５】
前記テレビ会議システムは、前記ユーザ側および前記相手側のうちの少なくとも一方に、複数の音声通話装置を備え、前記複数の音声通話装置のそれぞれに適用された、請求項４に記載の音声エコー除去システム。
【請求項６】
前記ユーザ側の音声通話装置および前記相手側の音声通話装置のうちの少なくとも一方が、ハンズ・フリー音声通話装置であり、前記ハンズ・フリー音声通話装置に適用された、請求項１乃至３のうちの何れか１項に記載の音声エコー除去システム。
【請求項７】
音声通話装置を用いて通話した場合、ユーザによって発声された音声が、相手側の音声通話装置からユーザ側に送信されることによって生じる音声エコーを除去するためのシステムに適用されるプログラムであって、コンピュータに、
前記ユーザ側の音声通話装置に入力された、前記ユーザによって発声された音声を第１の音声データとして第１の音声バッファに保持する手順と、
前記ユーザ側の音声通話装置に入力された、前記ユーザによって発声された音声が、前記相手側の音声通話装置から前記ユーザ側に送信されてなる第２の音声データを第２の音声バッファに保持する手順と、
前記第１の音声バッファに保持された第１の音声データと、前記第２の音声バッファに保持された第２の音声データとを、条件を一致させてエコーキャンセラに入力する手順と、
前記エコーキャンセラにおいて、前記第１の音声データを用いて、前記第２の音声データを打ち消し、前記第２の音声データが、前記ユーザ側の音声通話装置へ送信されないようにする手順と、
を実行させるためのプログラム。
【請求項８】
前記条件は、音声データのサイズ、音声データのサンプリング・レート、および音声データが前記エコーキャンセラに入力されるタイミングである、請求項７に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、音声エコー除去システムおよびプログラムに関する。
【背景技術】
【０００２】
例えば、携帯電話や固定電話のハンズ・フリー機能や、インターネットによるＷｅｂ会議システムで使われているスピーカとマイクロホンを利用した双方向通信では、ユーザは、自分がマイクに向けて発声した音声が、少し遅れてスピーカからエコーのように聞こえる場合がある。このような現象は、音声エコーまたは音響エコーと呼ばれている。
【０００３】
図４は、音声エコーのメカニズムを説明するための概念図である。すなわち、ユーザ２０がしゃべると、その音声がマイク２１に入力され、伝送路２２を介して、相手２３側のスピーカ２４から出力される。それが相手２３側のマイク２５によって拾われ、伝送路２２を介してユーザ２０のスピーカ２６から聞こえるようになる。このようにして、ユーザ２０は、自分のしゃべった音声が少し遅れてスピーカ２６から再生され、「エコー」のように聞こえる。
【０００４】
このような音声エコーが生じると、ユーザは、話し難くなり、快適な通話が阻害されてしまう。
【０００５】
従来、このような音声エコーを抑制するために、例えば、適応フィルタが適用されたエコー除去システムが用いられている。
【０００６】
しかしながら、この種のエコー除去システムは、専用のハードウェア・モジュールとして携帯電話や固定電話に予め組み込まれ、販売されているものがほとんどである。したがって、この種のエコー除去システムが購入時に組み込まれていない電話に対して、エコー除去機能を持たせるためには、専用のハードウェア・モジュールを組み込むための改造等を施す必要があり、現実的ではない。
【０００７】
このような事情に対処するために、最近では、ソフトウェア処理による音声エコー除去技術も導入されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特表２０１１−５１２６９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
図５は、ソフトウェア処理による音声エコー除去技術が適用された従来システムを示す概念図である。
【００１０】
音声エコーをソフトウェア処理によって除去するために、従来の音声エコー除去システム６０は、ＳＲＣ（sampling rate converter）変換前音声バッファ１２，１４と、ＳＲＣ処理ブロック６６，６８と、ＳＲＣ変換後音声バッファ１３，１５と、エコーキャンセラ３０とを備えてなるエコーキャンセル・スレッド１７から構成されている。
【００１１】
ユーザ２０が、音声通話装置４０のマイク２１に向けて音声を発すると、マイク２１は、その音声を、音声データに変換する。
【００１２】
ＳＲＣ変換前音声バッファ１２は、この音声データｖ１を、マイク２１から取得して保持する。
【００１３】
ＳＲＣ処理ブロック６６は、ＳＲＣ変換前音声バッファ１２に保持された音声データｖ１を、ＳＲＣ変換前音声バッファ１２から取得し、サンプリング・レートを変換して、ＳＲＣ変換後音声バッファ１３に渡す。そして、ＳＲＣ変換後音声バッファ１３は、このようにサンプリング・レートが変換された音声データを受け取り、エコーキャンセラ処理ブロック３０に渡す。図５では、このようにしてＳＲＣ処理ブロック６６からＳＲＣ変換後音声バッファ１３へ渡される音声データを、メイン音声ｓ１として示している。
【００１４】
このメイン音声ｓ１は、ＳＲＣ変換後音声バッファ１３からエコーキャンセラ処理ブロック３０を介して、相手２３側の音声通話装置５０のスピーカ２４に送られ、スピーカ２４から出力されることによって、相手２３によって聞かれる。と同時に、破線矢印Ｎに示すように、スピーカ２４から出力された音声が、マイク２５によって拾われてしまう。そして、マイク２５から音声データｖ２としてＳＲＣ変換前音声バッファ１４に入力され、保持される。
【００１５】
ＳＲＣ処理ブロック６８は、ＳＲＣ変換前音声バッファ１４に保持された音声データｖ２を、ＳＲＣ変換前音声バッファ１４から取得し、サンプリング・レートを変換して、ＳＲＣ変換後音声バッファ１５に渡す。そして、ＳＲＣ変換後音声バッファ１５は、このようにサンプリング・レートが変換された音声データを受け取り、エコーキャンセラ処理ブロック３０に渡す。図５では、このようにしてＳＲＣ処理ブロック６８からＳＲＣ変換後音声バッファ１５へ渡される音声データを、キャンセル音声ｓ２として示している。
【００１６】
このキャンセル音声ｓ２は、ＳＲＣ変換後音声バッファ１５から、エコーキャンセラ処理ブロック３０へ送られる。
【００１７】
すると、エコーキャンセラ処理ブロック３０は、メイン音声ｓ１を用いて、キャンセル音声ｓ２を打ち消すことによって、スピーカ２６から、音声エコーが聞こえることがないようにしている。
【００１８】
このように、ソフトウェア処理による音声エコー除去技術が適用された従来システムでは、音声データｖ１の取得からＳＲＣ変換、エコーキャンセルまでの一連の流れが、１つの処理スレッドで同期をとってなされている。
【００１９】
しかしながら、このようなソフトウェア処理による音声エコー除去技術では、以下のような問題がある。
【００２０】
すなわち、エコーキャンセラ処理ブロック３０では、メイン音声ｓ１の音声ストリームと、キャンセル音声ｓ２の音声ストリームとが、それぞれ先頭から１バイトずつ順次処理される。
【００２１】
しかしながら、処理を進めていくにつれ、以下のような事象が発生する。
【００２２】
まず、ＳＲＣ処理ブロック６６で音声データｖ１のサンプリング・レートを変換する場合、逓倍変換であれば、ＳＲＣ変換前音声バッファ１２とＳＲＣ変換後音声バッファ１３との間での再生時間に差が生じない。しかしながら、従来のソフトウェア処理による音声エコー除去技術では、ＳＲＣスレッド６６で行われる音声データｖ１のサンプリング・レートの変換は、必ずしも逓倍変換であるとは限らない。逓倍変換ではない場合、ＳＲＣ変換前音声バッファ１２とＳＲＣ変換後音声バッファ１３との間で、計算上必ずデータの溢れもしくは欠けが発生し（例えば、４４．１ｋＨｚ  ５ｓｅｃ→１６ｋＨｚ  ４．９９９ｓｅｃの変換の場合、データの欠けが発生する）、音声データｖ１，ｓ１間のデータ量に差が生じてしまう。
【００２３】
そのため、ＳＲＣ変換後音声バッファ１３とＳＲＣ変換後音声バッファ１５との間でも、データ量に差が生じてしまう（例えば、ＳＲＣ変換後音声バッファ１３は、１６ｋＨｚ  ４．９９９ｓｅｃ、ＳＲＣ変換後音声バッファ１５は、１６ｋＨｚ  ５．００１ｓｅｃ）。仮に、ＳＲＣ変換後音声バッファ１３とＳＲＣ変換後音声バッファ１５とがフルの状態で開始しても両バッファ間のデータ量に差があるため、エコーキャンセラ処理ブロック３０が等量のデータを処理して行くと、ゆくゆくはどちらかのバッファがオーバラン（Overrun）またはアンダーラン（Underrun）してリセットしてしまう。これは、通話中の途切れに繋がるなど製品の品質上重大な欠陥をもたらすという問題がある。
【００２４】
本発明はこのような事情に鑑みてなされたものであり、メイン音声とキャンセル音声との周波数が一致せず、サンプリング・レートの変換が逓倍でもなく、かつ、メイン音声とキャンセル音声とのクロック周波数が異なる場合であっても、ソフトウェアによって音声エコーを除去することが可能な音声エコー除去システムおよびプログラムを提供することを目的とする。
【００２５】
なお、特許文献１は、上記目的と同じ目的を達成するためになされた公知技術であるが、本発明の実施形態とは異なる構成によって実現されている。
【課題を解決するための手段】
【００２６】
実施形態によれば、以下のような構成によって、上記の課題を解決する。
【００２７】
すなわち、実施形態は、音声通話装置を用いて通話した場合、ユーザによって発声された音声が、相手側の音声通話装置からユーザ側に送信されることによって生じる音声エコーを除去するための音声エコー除去システムである。
【００２８】
このシステムは、第１の音声バッファと、第２の音声バッファと、入力手段と、エコーキャンセラと、入力手段とを備える。
【００２９】
第１の音声バッファは、ユーザ側の音声通話装置に入力された、ユーザによって発声された音声を第１の音声データとして保持する。
【００３０】
第２の音声バッファは、ユーザ側の音声通話装置に入力された、ユーザによって発声された音声が、相手側の音声通話装置からユーザ側に送信されてなる第２の音声データを保持する。
【００３１】
入力手段は、第１の音声バッファに保持された第１の音声データと、第２の音声バッファに保持された第２の音声データとを、条件を一致させてエコーキャンセラに入力する。
【００３２】
エコーキャンセラは、第１の音声データを用いて、第２の音声データを打ち消し、第２の音声データが、ユーザ側の音声通話装置へ送信されないようにする。
【００３３】
入力手段が一致させる条件は、音声データのサイズ、音声データのサンプリング・レート、および音声データがエコーキャンセラに入力されるタイミングである。
【００３４】
また、入力手段は、第１の音声データを取り扱う第１の入力手段と、第２の音声データを取り扱う第２の入力手段とを備えている。
【００３５】
そして、第１の入力手段と、第２の入力手段とは、それぞれ独立して動作する。
【００３６】
このような音声エコー除去システムは、ユーザ側の音声通話装置と相手側の音声通話装置とよって構成されたテレビ会議システムに適用されることが可能である。
【００３７】
テレビ会議システムが、ユーザ側および相手側のうちの少なくとも一方に、複数の音声通話装置を備えている場合、この音声エコー除去システムは、複数の音声通話装置のそれぞれに適用されることも可能である。
【００３８】
さらに、ユーザ側の音声通話装置および相手側の音声通話装置のうちの少なくとも一方が、ハンズ・フリー音声通話装置である場合、この音声エコー除去システムは、ハンズ・フリー音声通話装置に適用されることも可能である。
【図面の簡単な説明】
【００３９】
【図１】図１は、第１の実施形態に係る音声エコー除去システムの概念を示す機能ブロック図である。
【図２】図２は、第２の実施形態に係る音声エコー除去システムの適用例を示す概念図である。
【図３】図３は、第３の実施形態に係る音声エコー除去システムの適用例を示す概念図である。
【図４】図４は、音声エコーのメカニズムを説明するための概念図である。
【図５】図５は、ソフトウェア処理による音声エコー除去技術が適用された従来システムを示す概念図である。
【発明を実施するための形態】
【００４０】
以下に、本発明の実施形態について図面を参照しながら説明する。
【００４１】
（第１の実施形態）
図１は、第１の実施形態に係る音声エコー除去システムの概念を示す機能ブロック図である。
【００４２】
図１では、図５と同一部位については、同一付番を付し、重複説明を避ける。
【００４３】
第１の実施形態に係る音声エコー除去システム１０は、図５に示す従来の音声エコー除去システム６０におけるＳＲＣ処理ブロック６６，６８に代えて、非同期ＳＲＣ処理ブロック１６，１８を備えている。そして、ＳＲＣ変換前音声バッファ１２、非同期ＳＲＣ処理ブロック１６、およびＳＲＣ変換後音声バッファ１３で、非同期ＳＲＣスレッド１９を形成し、ＳＲＣ変換前音声バッファ１４、非同期ＳＲＣ処理ブロック１８、およびＳＲＣ変換後音声バッファ１５で、非同期ＳＲＣスレッド３２を形成し、エコーキャンセラ処理ブロック３０がエコーキャンセル・スレッド３１を形成する。
【００４４】
そして、非同期ＳＲＣスレッド１９と非同期ＳＲＣスレッド３２とは、以下のように、非同期で、すなわち、それぞれ独立して動作する。つまり、第１の実施形態に係る音声エコー除去システム１０は、従来技術におけるエコーキャンセル・スレッド１７から、非同期ＳＲＣを行うスレッドとして、非同期ＳＲＣスレッド１９と非同期ＳＲＣスレッド３２とを切り離し、さらに、エコーキャンセラ処理ブロック３０をエコーキャンセル・スレッド３１として独立させることにより、音声データのＳＲＣ処理とエコーキャンセル処理とを非同期に行うようにしたものである。
【００４５】
非同期ＳＲＣ処理ブロック１６は、ＳＲＣ変換前音声バッファ１２に保持された音声データＶ１を、定められたサイズ、サンプリング・レート、およびタイミングで、ＳＲＣ変換前音声バッファ１２から取得し、ＳＲＣ変換後音声バッファ１３に渡す。そして、ＳＲＣ変換後音声バッファ１３は、このようにサンプリング・レートが変換された音声データを受け取り、エコーキャンセラ処理ブロック３０に渡す。図１では、このようにして非同期ＳＲＣ処理ブロック１６からＳＲＣ変換後音声バッファ１３へ渡される音声データを、メイン音声Ｓ１として示している。
【００４６】
非同期ＳＲＣ処理スレッド１８は、ＳＲＣ変換前音声バッファ１４に保持された音声データＶ２を、ＳＲＣ変換前音声バッファ１４から取得し、ＳＲＣ変換後音声バッファ１５に渡す。そして、ＳＲＣ変換後音声バッファ１５は、このようにサンプリング・レートが変換された音声データを受け取り、エコーキャンセラ処理ブロック３０に渡す。図１では、このようにして非同期ＳＲＣ処理ブロック１８からＳＲＣ変換後音声バッファ１５へ渡される音声データを、キャンセル音声Ｓ２として示している。
【００４７】
ここで、ＳＲＣ変換後音声バッファ１３およびＳＲＣ変換後音声バッファ１５は、メイン音声Ｓ１およびキャンセル音声Ｓ２をそれぞれ、同じサイズ、サンプリング・レート、およびタイミングで、エコーキャンセラ処理ブロック３０に渡す。また、バッファのサイズのようなバッファの残量情報を、対応する非同期ＳＲＣ処理ブロック１６，１８へフィードバックし、非同期ＳＲＣ処理ブロック１６，１８における次の非同期ＳＲＣ処理時の出力データ（ＳＲＣ変換後音声バッファ１３，１５に書き込むデータ量）を補正（少し増やしたり減らしたり）することで音声データの流れが途切れないようにしている。
【００４８】
エコーキャンセラ３０は、メイン音声Ｓ１を用いて、キャンセル音声Ｓ２を打ち消す。
【００４９】
図５に示すような従来技術のように、シングルスレッドで動作させた場合、ＳＲＣ処理と音声データの処理とが同期されてしまう。しかしながら、以上のように構成した本発明の第１の実施形態に係る音声エコー除去システム１０によれば、エコーキャンセル・スレッド１７から非同期ＳＲＣスレッド１９，３２が切り離されることにより、マルチスレッドで並行処理されることにより、双方向の音声データのそれぞれのＳＲＣ処理が非同期で処理されるので、エコーキャンセラ処理ブロック３０に渡されるメイン音声Ｓ１とキャンセル音声Ｓ２とは、サイズ、サンプリング・レート、およびタイミングが一致される。
【００５０】
これによって、前述したオーバランもアンダーランも生じなくなるので、音声バッファをリセットする必要もなくなり、ユーザ２０に対して、音声エコーの無い快適な通話条件で長時間通話を行うことが可能な環境を提供することが可能となる。
【００５１】
（第２の実施形態）
第１の実施形態では、ユーザ２０側の音声通話装置４０に、音声エコー除去システム１０を適用した場合を説明しているが、図２に示すように、音声エコー除去システム１０を、ユーザ２０側の音声通話装置４０のみならず、相手２３側の音声通話装置５０に適用することも可能である。
【００５２】
図２でもまた、図１と同一部位については、同一付番を付し、重複説明を避ける。
【００５３】
図２のような構成によって、相手２３にもまた、音声エコーの無い快適な通話条件で長時間通話を行うことが可能な環境を提供することが可能となる。このような構成は、テレビ会議システムに好適である。
【００５４】
（第３の実施形態）
第３の実施形態は、第２の実施形態の変形例である。
【００５５】
すなわち、第２の実施形態では、テレビ会議システムに好適な構成を例示した。しかしながら、テレビ会議システムは、図２のように、ユーザ２０と相手２３とが必ずしも一対一の関係であるとは限らず、ユーザ２０と相手２３とが一対多あるいは多対一の関係である場合もある。
【００５６】
図３は、一対多または多対一のテレビ会議システムに適用された場合の構成例を示す図である。
【００５７】
図３のような構成によって、一対多または多対一のテレビ会議においても、音声エコー除去システム１０を適用することによって、テレビ会議に参加している参加者２０，２３（＃１〜＃ｎ）全員に対して、音声エコーの無い快適な通話条件で長時間通話を行うことが可能な環境を提供することが可能となる。
【００５８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００５９】
１０…音声エコー除去システム、１２…ＳＲＣ変換前音声バッファ、１３…ＳＲＣ変換後音声バッファ、１４…ＳＲＣ変換前音声バッファ、１５…ＳＲＣ変換後音声バッファ、１６…音声スレッド、１７…エコーキャンセル・スレッド、１８…音声スレッド、１９…非同期ＳＲＣスレッド、２０…ユーザ、２１…マイク、２２…伝送路、２３…相手、２４…スピーカ、２５…マイク、２６…スピーカ、３０…エコーキャンセラ処理ブロック、３１…エコーキャンセル・スレッド、３２…非同期ＳＲＣスレッド、４０…音声通話装置、５０…音声通話装置、６０…従来の音声エコー除去システム、６６…ＳＲＣスレッド、６８…ＳＲＣスレッド
【図１】
2015220468.tif 000003
【図２】
2015220468.tif 000004
【図３】
2015220468.tif 000005
【図４】
2015220468.tif 000006
【図５】
2015220468.tif 000007