(57)【要約】【課題】遅延前信号の信号レベルが小さい、又は無い場合でも遅延推定が行え、且つ、想定される遅延量が多い場合でも少ない演算量で遅延推定が行える遅延推定方法を提供する。【解決手段】遅延前信号揺らぎ推定過程は、予め定めた数の遅延前信号保存時刻の平均間隔を求め、当該平均間隔と遅延前信号保存時刻との差から、遅延前信号の揺らぎを推定し、当該揺らぎの最大値を遅延前信号揺らぎ量として推定する。また、遅延後信号揺らぎ推定過程は、予め定めた数の遅延後信号保存時刻の平均間隔を求め、当該平均間隔と遅延後信号保存時刻との差から、遅延後信号の揺らぎを推定し、当該揺らぎの最大値を遅延後信号揺らぎ量として推定する。そして加算過程が、遅延前信号揺らぎ量と遅延後信号揺らぎ量を加算して推定遅延量として出力する。【選択図】図１
2014075757.tif 000002
【特許請求の範囲】
【請求項１】
遅延前信号を一時的に保存して当該遅延前信号を保存した順に順次出力する遅延前信号バッファ過程と、
上記遅延前信号バッファ過程において上記遅延前信号を保存した遅延前信号保存時刻を計測する遅延前信号保存時刻計測過程と、
予め定めた数の上記遅延前信号保存時刻の平均間隔を求め、当該平均間隔と上記遅延前信号保存時刻との差から、上記遅延前信号の揺らぎを推定し、当該揺らぎの最大値を遅延前信号揺らぎ量として推定する遅延前信号揺らぎ推定過程と、
遅延後信号を一時的に保存して当該遅延後信号を保存した順に順次出力する遅延後信号バッファ過程と、
上記遅延後信号バッファ過程において上記遅延後信号を保存した遅延後信号保存時刻を計測する遅延後信号保存時刻計測過程と、
予め定めた数の上記遅延後信号保存時刻の平均間隔を求め、当該平均間隔と上記遅延後信号保存時刻との差から、上記遅延後信号の揺らぎを推定し、当該揺らぎの最大値を遅延後信号揺らぎ量として推定する遅延後信号揺らぎ推定過程と、
上記遅延前信号揺らぎ量と上記遅延後信号揺らぎ量を加算して推定遅延量として出力する加算過程と、
を備える遅延推定方法。
【請求項２】
請求項１に記載した遅延推定方法において、
上記遅延前信号揺らぎ推定過程は、
上記遅延前信号バッファ過程において上記遅延前信号を保存した遅延前信号保存時刻を記録する遅延前信号保存時刻記録ステップと、
予め定められた数の上記遅延前信号保存時刻の平均間隔を計算する平均間隔計算ステップと、
上記平均間隔に上記遅延前信号を保存した順番を表す番号を乗じる乗算ステップと、
上記遅延前信号保存時刻記録ステップで記録した順の遅延前信号保存時刻から、上記順と同じ番号の乗算ステップの出力を減じて揺らぎ量を求める第１の減算ステップと、
遅延前信号の上記揺らぎ量の最大値を検出する遅延前信号最大値検出ステップと、
遅延前信号の上記揺らぎ量の最小値を検出する遅延前信号最小値検出ステップと、
上記最大値から上記最小値を減じた値を遅延前信号の揺らぎ最大値として求める第２の減算ステップと、を含み、
上記遅延後信号揺らぎ推定過程は、
上記遅延後信号バッファ過程において上記遅延後信号を保存した遅延後信号保存時刻を計測して記録する遅延後信号保存時刻記録ステップと、
予め定められた数の上記遅延後信号保存時刻の平均間隔を計算する平均間隔計算ステップと、
上記平均間隔に上記遅延後信号を保存した順番を表す番号を乗じる乗算ステップと、
上記遅延前信号保存時刻記録ステップで記録した順の遅延後信号保存時刻から、上記順と同じ番号の乗算ステップの出力を減じて揺らぎ量を求める第３の減算ステップと、
遅延後信号の上記揺らぎ量の最大値を検出する遅延後信号最大値検出ステップと、
遅延後信号の上記揺らぎ量の最小値を検出する遅延後信号最小値検出ステップと、
上記最大値から上記最小値を減じた値を遅延後信号の揺らぎ最大値として求める第４の減算ステップと、を含むことを特徴とする遅延推定方法。
【請求項３】
請求項２に記載した遅延推定方法において、
上記第１の減算ステップと上記遅延前信号最大値検出ステップとの間に、遅延前信号特異データ削除ステップを備え、
当該遅延前信号特異データ削除ステップは、上記第１の減算ステップで求めた揺らぎ量の平均値を求め、当該平均値からもっとも離れた値から順に、予め設定した個数の揺らぎ量を削除して残りの揺らぎ量を出力し、
上記第３の減算ステップと上記遅延後信号最大値検出ステップとの間に、遅延後信号特異データ削除ステップを備え、
当該遅延後信号特異データ削除ステップは、上記第３の減算ステップで求めた揺らぎ量の平均値を求め、当該平均値からもっとも離れた値から順に、予め設定した個数の揺らぎ量を削除して残りの揺らぎ量を出力する、
ことを特徴とする遅延推定方法。
【請求項４】
請求項１乃至３の何れかに記載した遅延推定方法と、
上記遅延推定方法の各過程に加えて、
上記遅延推定方法で推定した遅延量を最小遅延量とし、当該最小遅延量と予め設定した最大遅延量との範囲で、上記遅延前信号と遅延後信号との間の白色化相互相関を求め、当該白色化相互相関の最大値の位置を探索し、その値を推定遅延量として出力する相関遅延推定過程を、
更に備える遅延推定方法。
【請求項５】
遅延前信号を一時的に保存して当該遅延前信号を保存した順に順次出力する遅延前信号バッファ過程と、
上記遅延前信号バッファ過程において上記遅延前信号を保存した遅延前信号保存時刻を計測する遅延前信号保存時刻計測過程と、
予め定めた数の上記遅延前信号保存時刻の平均間隔を求め、当該平均間隔と上記遅延前信号保存時刻との差から、上記遅延前信号の揺らぎを推定し、当該揺らぎの最大値を遅延前信号揺らぎ量として推定する遅延前信号揺らぎ推定過程と、
遅延後信号を一時的に保存して当該遅延後信号を保存した順に順次出力する遅延後信号バッファ過程と、
上記遅延後信号バッファ過程において上記遅延後信号を保存した遅延後信号保存時刻を計測する遅延後信号保存時刻計測過程と、
予め定めた数の上記遅延後信号保存時刻の平均間隔を求め、当該平均間隔と上記遅延後信号保存時刻との差から、上記遅延後信号の揺らぎを推定し、当該揺らぎの最大値を遅延後信号揺らぎ量として推定する遅延後信号揺らぎ推定過程と、
上記遅延後信号揺らぎ推定過程で推定された最新の遅延後信号揺らぎ量を保持するデータ保持過程と、
上記遅延前信号揺らぎ量と上記最新の遅延後信号揺らぎ量を加算して推定遅延量として出力する加算過程と、
を備える遅延推定方法。
【請求項６】
遅延前信号を一時的に保存して当該遅延前信号を保存した順に順次出力する遅延前信号バッファ部と、
上記遅延前信号バッファ過程において上記遅延前信号を保存した遅延前信号保存時刻を計測する遅延前信号保存時刻計測部と、
予め定めた数の上記遅延前信号保存時刻の平均間隔を求め、当該平均間隔と上記遅延前信号保存時刻との差から、上記遅延前信号の揺らぎを推定し、当該揺らぎの最大値を遅延前信号揺らぎ量として推定する遅延前信号揺らぎ推定部と、
遅延後信号を一時的に保存して当該遅延後信号を保存した順に順次出力する遅延後信号バッファ部と、
上記遅延後信号バッファ過程において上記遅延後信号を保存した遅延後信号保存時刻を計測する遅延後信号保存時刻計測部と、
予め定めた数の上記遅延後信号保存時刻の平均間隔を求め、当該平均間隔と上記遅延後信号保存時刻との差から、上記遅延後信号の揺らぎを推定し、当該揺らぎの最大値を遅延後信号揺らぎ量として推定する遅延後信号揺らぎ推定部と、
上記遅延前信号揺らぎ量と上記遅延後信号揺らぎ量を加算して推定遅延量として出力する加算部と、
を具備する遅延推定装置。
【請求項７】
請求項６に記載した遅延推定装置において、
上記遅延前信号揺らぎ推定部は、
上記遅延前信号バッファ部に保存した遅延前信号保存時刻を記録する遅延前信号保存時刻記録手段と、
予め定められた数の上記遅延前信号保存時刻の平均間隔を計算する平均間隔計算手段と、
上記平均間隔に上記遅延前信号を保存した順番を表す番号を乗じる乗算手段と、
上記遅延前信号保存時刻記録部に記録した順の遅延前信号保存時刻から、上記順と同じ番号の乗算ステップの出力を減じて揺らぎ量を求める第１の減算手段と、
遅延前信号の上記揺らぎ量の最大値を検出する遅延前信号最大値検出手段と、
遅延前信号の上記揺らぎ量の最小値を検出する遅延前信号最小値検出手段と、
上記最大値から上記最小値を減じた値を遅延前信号の揺らぎ最大値として求める第２の減算手段と、を含み、
上記遅延後信号揺らぎ推定部は、
上記遅延後信号バッファ部に保存した遅延後信号保存時刻を計測して記録する遅延後信号保存時刻記録手段と、
予め定められた数の上記遅延後信号保存時刻の平均間隔を計算する平均間隔計算手段と、
上記平均間隔に上記遅延後信号を保存した順番を表す番号を乗じる乗算手段と、
上記遅延前信号保存時刻記録部に記録した順の遅延後信号保存時刻から、上記順と同じ番号の乗算手段の出力を減じて揺らぎ量を求める第３の減算手段と、
遅延後信号の上記揺らぎ量の最大値を検出する遅延後信号最大値検出手段と、
遅延後信号の上記揺らぎ量の最小値を検出する遅延後信号最小値検出手段と、
上記最大値から上記最小値を減じた値を遅延後信号の揺らぎ最大値として求める第４の減算手段と、を具備することを特徴とする遅延推定装置。
【請求項８】
請求項７に記載した遅延推定装置において、
上記第１の減算手段と上記遅延前信号最大値検出手段との間に、遅延前信号特異データ削除手段を備え、
当該遅延前信号特異データ削除手段は、上記第１の減算手段が出力する揺らぎ量の平均値を求め、当該平均値からもっとも離れた値から順に、予め設定した個数の揺らぎ量を削除して残りの揺らぎ量を出力し、
上記第３の減算手段と上記遅延後信号最大値検出手段との間に、遅延後信号特異データ削除手段を備え、
当該遅延後信号特異データ削除手段は、上記第３の減算手段が出力する揺らぎ量の平均値を求め、当該平均値からもっとも離れた値から順に、予め設定した個数の揺らぎ量を削除して残りの揺らぎ量を出力する、
ことを特徴とする遅延推定装置。
【請求項９】
請求項６乃至８の何れかに記載した遅延推定装置と、
上記遅延推定装置の各構成に加えて、
上記遅延推定方法で推定した遅延量を最小遅延量とし、当該最小遅延量と予め設定した最大遅延量との範囲で、上記遅延前信号と遅延後信号との間の白色化相互相関を求め、当該白色化相互相関の最大値の位置を探索し、その値を推定遅延量として出力する相関遅延推定部を、
更に具備する遅延推定装置。
【請求項１０】
遅延前信号を一時的に保存して当該遅延前信号を保存した順に順次出力する遅延前信号バッファ部と、
上記遅延前信号バッファ部に上記遅延前信号を保存した遅延前信号保存時刻を計測する遅延前信号保存時刻計測部と、
予め定めた数の上記遅延前信号保存時刻の平均間隔を求め、当該平均間隔と上記遅延前信号保存時刻との差から、上記遅延前信号の揺らぎを推定し、当該揺らぎの最大値を遅延前信号揺らぎ量として推定する遅延前信号揺らぎ推定部と、
遅延後信号を一時的に保存して当該遅延後信号を保存した順に順次出力する遅延後信号バッファ部と、
上記遅延後信号バッファ部に上記遅延後信号を保存した遅延後信号保存時刻を計測する遅延後信号保存時刻計測部と、
予め定めた数の上記遅延後信号保存時刻の平均間隔を求め、当該平均間隔と上記遅延後信号保存時刻との差から、上記遅延後信号の揺らぎを推定し、当該揺らぎの最大値を遅延後信号揺らぎ量として推定する遅延後信号揺らぎ推定部と、
上記遅延後信号揺らぎ推定過程で推定された最新の遅延後信号揺らぎ量を保持するデータ保持部と、
上記遅延前信号揺らぎ量と上記最新の遅延後信号揺らぎ量を加算して推定遅延量として出力する加算部と、
を具備する遅延推定装置。
【請求項１１】
請求項６乃至１０の何れかに記載した遅延推定装置としてコンピュータを機能させるためのプログラム。
【請求項１２】
請求項１１に記載した何れかのプログラムを記録したコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばエコー消去装置等に利用することができる遅延推定方法とその装置とプログラムとその記録媒体に関する。
【背景技術】
【０００２】
エコー消去装置は、受話信号をスピーカから音響信号として出力し、マイクロホンで収音した送話信号に回り込んでくるエコー信号成分を適応フィルタにより推定し、送話信号からエコー信号成分を消去するものである。ディジタルテレビやスマートフォンなどの機器では、音声を途切れないようにする目的で受話信号と送話信号のそれぞれにバッファが挿入される場合がある。また、ディジタルテレビの映像のコーデックで発生する映像と音声のずれを調整するリップシンク機能で用いられるバッファ等が知られている。
【０００３】
図１４に、受話信号と送話信号の双方にバッファを挿入したエコー消去装置９００の概略的な機能構成例を示す。エコー消去装置９００は、適応フィルタ９０１と、加算回路９０２と、受話信号バッファ９０３と、送話信号バッファ９０４と、を備える。受話信号バッファ９０３は、遠端話者からの受話信号を、数１０ｍｓ〜数１００ｍｓの間保存し、保存した順に受話信号をスピーカに出力する。送話信号バッファ９０４は、マイクロホンで収音した近端話者からの送話信号を、一時的に保存し、保存した順に送話信号を加算回路９０２に出力する。なお図１４において、ディジタル信号をアナログ信号に変換するＡ/Ｄ変換器や、その逆の変換をするＤ/Ａ変換器等の機能部の表記は省略している。
【０００４】
この受話信号バッファ９０３と送話信号バッファ９０４は、例えば複数のアプリケーションを並行して実行するためにＣＰＵの負荷が重くなり、エコー消去処理が間に合わない場合でも音声が途切れないようにする目的で設けられたものである。よって、このバッファ部分で遅延が発生する。一般にエコー消去装置の持つ適応フィルタは１００ｍｓ程度の長さであり、この適応フィルタの長さを超える遅延時間のエコー成分を消去することができない。
【０００５】
そこで、従来から図１５に示すような遅延推定を用いたエコー消去装置９５０が考えられている。エコー消去装置９５０は、上記したエコー消去装置９００に対して遅延推定部９５１と遅延挿入部９５２を備える点で異なる。遅延推定部９５１は、受話信号バッファ９０３に入力される前の受話信号である遅延前信号と、送話信号バッファ９０４から出力される送話信号である遅延後信号との間の遅延時間を推定し、推定した遅延時間を適応フィルタの前の遅延挿入部９５２に与えることで、大きな遅延時間があっても適応フィルタ９０１でエコー信号成分の消去を可能にするものである。
【０００６】
図１６に、特許文献１に開示された従来の遅延推定装置９６０の機能構成図を示して、その動作を簡単に説明する。ＦＦＴ部１１１１〜１１１Ｍは、マイクロホン１１１〜１１Ｍからの収音信号を周波数領域に変換する。白色化部１１２１〜１１２Ｍは、周波数領域に変換された収音信号を、周波数スペクトルで白色化（フラット）する。次に、マイクロホン対選択部１１３は、白色化部１１２１〜１１２Ｍの出力信号のうち２つを選択する。乗算部１１４は、マイクロホン対選択部１１３で選ばれた信号のうち一方だけ共役をとり、２つの信号を周波数成分ごとに乗算し、クロススペクトルを求める。乗算部１１４の出力信号をＩＦＦＴ部１１５により、時間領域に変換し、白色化相互相関を求める。次に、最大ピーク検出部１１６で、ＩＦＦＴ部１１５の出力の相互相関の最大ピークを検出し、その最大ピークの地点を収音信号間遅延時間差として出力する。
【０００７】
遅延推定装置９６０の考えを、上記した遅延推定部９５１に適用すると、遅延前信号が例えばＦＦＴ部１１１１、遅延後信号が例えばＦＦＴ部１１１２、にそれぞれ入力される関係になる。以下、数式を用いて更に遅延推定装置９６０の動作原理を説明する。
【０００８】
まず、遅延前信号の時間領域信号をｘ（ｔ）、遅延後信号の時間領域信号をｙ（ｔ）、推定したい遅延経路のインパルス応答をｈ（ｔ）とすれば式（１）の関係が成立する。
【０００９】
【数１】
2014075757.tif 000003
【００１０】
ここで＊は畳み込み演算を表す。
【００１１】
遅延経路のインパルス応答ｈ（ｔ）が求められれば、そのピークの位置から遅延を推定することができる。ｈ（ｔ）を求めるには、観測可能な遅延前信号の時間領域信号ｘ（ｔ）と、遅延後信号の時間領域信号ｙ（ｔ）を用いて、式（１）をｈ（ｔ）について解けばよい。しかし、式（１）は畳み込み演算となっているため、解くには信号点数の２乗のオーダの演算が必要となる。そこで、遅延推定装置９６０は、式（１）の信号を周波数領域の信号に変換して解くことで計算量を削減する。
【００１２】
遅延前信号の周波数領域信号をＸ（ω）、遅延後信号の周波数領域信号をＹ（ω）、推定したい遅延経路の周波数領域のインパルス応答をＨ（ω）とすれば式（１）は式（２）に変形される。
【００１３】
【数２】
2014075757.tif 000004
【００１４】
式（２）をＨ（ω）について解けば、式（３）となる。
【００１５】
【数３】
2014075757.tif 000005
【００１６】
式（３）によりＨ（ω）を求め、Ｈ（ω）を逆ＦＦＴすれば、ｈ（ｔ）を求めることができる。ＦＦＴの演算量のオーダはＮ・ｌｏｇ２Ｎであるので、時間領域で解くよりも少ない演算量となる。
【００１７】
具体的な計算方法について説明する。上記したＮは、遅延前信号と遅延後信号をＦＦＴ処理するデータ点数であり、白色化相互相関を求める信号長である。乗算部１１４は、遅延前信号の周波数領域信号Ｘ（ω）の共役を取ったものと遅延後信号の周波数領域信号Ｙ（ω）とを周波数ビンごとに乗算して、式（３）の分子（クロススペクトル）を計算する。また、白色化部１１２において計算された遅延前信号の周波数領域信号Ｘ（ω）のノルムの２乗（式（３）の分母）の逆数を、クロススペクトルに乗算する。乗算部１１４の出力信号を、ＩＦＦＴ部１１５で、Ｎ点逆ＦＦＴすれば白色化相互相関が求められ、これが遅延経路のインパルス応答ｈ（ｔ）となる。最大ピーク検出部１１６は、その遅延経路のインパルス応答ｈ（ｔ）の最大ピーク位置を求め、推定遅延量として出力する。
【００１８】
このように、従来の遅延推定装置９６０は、Ｎ点のＦＦＴと逆ＦＦＴを用いて計算することで、時間領域で計算するよりも演算量を削減することができる。
【先行技術文献】
【特許文献】
【００１９】
【特許文献１】特開２００７−８１４５５号公報
【発明の概要】
【発明が解決しようとする課題】
【００２０】
従来の遅延推定装置で遅延推定するためには、十分な振幅の受話信号があり、それがスピーカから出力されてマイクロホンで収音された信号が十分な振幅がないと遅延推定が行えない課題がある。例えば、従来の遅延推定装置を通話装置に適用した場合を考えると、相手からの音声が到達している信号レベルの在る区間のみの遅延推定が可能であり、それ以外の非音声区間では遅延推定を行うことができない。また、想定される遅延量が多い場合には、その遅延以上のＦＦＴ演算を用いて遅延推定を行う必要があり、演算量も多く必要になる課題がある。
【００２１】
本発明は、この課題に鑑みてなされたものであり、遅延前信号の信号レベルが小さい、又は無い場合でも遅延推定が行え、且つ、想定される遅延量が多い場合でも少ない演算量で遅延推定が行える遅延推定方法とその装置とプログラムとその記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００２２】
本発明の遅延推定方法は、遅延前信号バッファ過程と、遅延前信号保存時刻計測過程と、遅延前信号揺らぎ推定過程と、遅延後信号バッファ過程と、遅延後信号保存時刻計測過程と、遅延後信号揺らぎ推定過程と、加算過程と、を備える。遅延前信号バッファ過程は、遅延前信号を一時的に保存して当該遅延前信号を保存した順に順次出力する。遅延前信号保存時刻計測過程は、遅延前信号バッファ過程において遅延前信号を保存した遅延前信号保存時刻を計測する。遅延前信号揺らぎ推定過程は、予め定めた数の遅延前信号保存時刻の平均間隔を求め、当該平均間隔と遅延前信号保存時刻との差から、遅延前信号の揺らぎを推定し、当該揺らぎの最大値を遅延前信号揺らぎ量として推定する。遅延後信号バッファ過程は、遅延後信号を一時的に保存して当該遅延後信号を保存した順に順次出力する。遅延後信号保存時刻計測過程は、遅延後信号バッファ過程において遅延後信号を保存した遅延後信号保存時刻を計測する。遅延後信号揺らぎ推定過程は、予め定めた数の遅延後信号保存時刻の平均間隔を求め、当該平均間隔と遅延後信号保存時刻との差から、遅延後信号の揺らぎを推定し、当該揺らぎの最大値を遅延後信号揺らぎ量として推定する。加算過程は、遅延前信号揺らぎ量と遅延後信号揺らぎ量を加算して推定遅延量として出力する。
【発明の効果】
【００２３】
本発明の遅延推定方法によれば、遅延前信号と遅延後信号を、それぞれバッファに保存した時刻の揺らぎから推定遅延量を求める。よって、遅延前信号と遅延後信号の信号レベルが小さい、又は無い場合でも遅延推定が行える。また、想定される遅延量が多い場合でも、時刻の揺らぎから遅延量を求める方法なので演算量が少ない。
【図面の簡単な説明】
【００２４】
【図１】この発明の遅延推定装置１００の機能構成例を示す図。
【図２】遅延推定装置１００の動作フローを示す図。
【図３】揺らぎの推定方法について説明する図。
【図４】推定揺らぎ量について説明する図。
【図５】遅延前信号揺らぎ推定部４０の機能構成例を示す図。
【図６】遅延前信号揺らぎ推定部４０の動作フローを示す図。
【図７】揺らぎ量の異常値を示す図。
【図８】遅延前信号揺らぎ推定部２４０の機能構成例を示す図。
【図９】この発明の遅延推定装置３００の機能構成例を示す図。
【図１０】遅延推定装置３００の動作フローを示す図。
【図１１】この発明の遅延推定装置４００の機能構成例を示す図。
【図１２】この発明の遅延推定装置５００の機能構成例を示す図。
【図１３】この発明のエコー消去装置６００の機能構成例を示す図。
【図１４】従来のエコー消去装置９００の機能構成を示す図。
【図１５】従来のエコー消去装置９５０の機能構成を示す図。
【図１６】従来の遅延推定装置９６０の機能構成を示す図。
【発明を実施するための形態】
【００２５】
以下、この発明の実施の形態を図面を参照して説明する。複数の図面中同一のものには同じ参照符号を付し、説明は繰り返さない。
【実施例１】
【００２６】
図１に、この発明の遅延推定装置１００の機能構成例を示す。その動作フローを図２に示す。図１は、遅延推定装置１００を通話装置に用いた場合の例を示す。遅延前信号は、例えば遠端話者からの受話信号であり、その受話信号は遅延推定装置１００を介してスピーカによって音響信号に変換される。遅延後信号は、例えば近端話者の発話をマイクロホンで収音した送話信号である。
【００２７】
遅延推定装置１００は、遅延前信号バッファ部１０と、遅延後信号バッファ部２０と、遅延前信号保存時刻計測部３０と、遅延前信号揺らぎ推定部４０と、遅延後信号保存時刻計測部５０と、遅延後信号揺らぎ推定部６０と、加算部７０と、制御部８０と、を具備する。遅延推定装置１００は、例えばＲＯＭ、ＲＡＭ、ＣＰＵ等で構成されるコンピュータに所定のプログラムが読み込まれて、ＣＰＵがそのプログラムを実行することで実現されるものである。
【００２８】
上記したようにディジタルテレビやスマートフォンなどの機器では、その送受話部にバファを備え、受話信号の書き込み時刻や送話信号の読み出し時刻に揺らぎがあっても音声が途切れないようになっている。音声が途切れないということは、書き込み揺らぎや読み出し揺らぎよりも、バッファリングしている信号長が長いということである。すなわち、バッファによる遅延量は、少なくとも書き込み揺らぎと読み出し揺らぎを加算した値よりも大きいということになる。よって、書き込み揺らぎと読み出し揺らぎを推定し、それらを加算することで遅延量を推定することができる。
【００２９】
遅延前信号バッファ部１０は、遅延前信号を一時的に保存して当該遅延前信号を保存した順に順次出力する（ステップＳ１０）。遅延前信号保存時刻計測部３０は、遅延前信号バッファ過程において遅延前信号を保存した遅延前信号保存時刻を計測する（ステップＳ３０）。
【００３０】
遅延前信号揺らぎ推定部４０は、予め定めた数の遅延前信号保存時刻の平均間隔を求め、当該平均間隔と遅延前信号保存時刻との差から、遅延前信号の揺らぎを推定し、当該揺らぎの最大値を遅延前信号揺らぎ量として推定する（ステップＳ４０）
遅延後信号バッファ部２０は、遅延後信号を一時的に保存して当該遅延後信号を保存した順に順次出力する（ステップＳ２０）。遅延後信号保存時刻計測部５０は、遅延後信号バッファ過程において遅延後信号を保存した遅延後信号保存時刻を計測する（ステップＳ５０）。
【００３１】
遅延後信号揺らぎ推定部６０は、予め定めた数の遅延後信号保存時刻の平均間隔を求め、当該平均間隔と遅延後信号保存時刻との差から、遅延後信号の揺らぎを推定し、当該揺らぎの最大値を遅延後信号揺らぎ量として推定する（ステップＳ６０）。
【００３２】
加算部７０は、遅延前信号揺らぎ量と遅延後信号揺らぎ量を加算して推定遅延量として出力する（ステップＳ７０）。制御部８０は、遅延前信号と遅延後信号が無くなるまで、或いは動作を停止されるまで上記した各部の時系列的な動作を制御する（ステップＳ８０）。
【００３３】
以上説明したように、遅延推定装置１００は、遅延前信号と遅延後信号を、それぞれバッファに書き込む時刻の時間差の揺らぎから推定遅延量を求める。従って、遅延前信号と遅延後信号の信号レベルが小さくても推定遅延量を求めることが可能である。
【００３４】
図３を参照して揺らぎの推定方法について説明する。図３の横軸は遅延前信号の保存順を表す番号、縦軸は書き込み時刻である。例えば、揺らぎが全く無い状態では一定間隔で遅延前信号が遅延前信号バッファ部１０に保存されるので、保存順を表す番号と書き込み時刻との関係は、図３に示すように直線となる。この直線との実際の書き込み時刻との差分が揺らぎとなる。
【００３５】
図４に、実際の書き込み時刻との差分を例示する。横軸は遅延前信号の保存順を表す番号、縦軸は差分の時間である。差分の時間は、最小と最大の間に分布する。この最小値と最大値との差分が揺らぎの最大量であるので、この値を遅延量として扱うことができる。
【００３６】
図５に、遅延前信号揺らぎ推定部４０のより具体的な機能構成例を示して、更に詳しくその動作を説明する。遅延前信号揺らぎ推定部４０は、遅延前信号保存時刻記録手段４１と、平均間隔計算手段４２と、乗算手段４３と、第１の減算手段４４と、最大値検出手段４５と、最小値検出手段４６と、第２の減算手段４７と、を備える。その動作フローを図６に示す。
【００３７】
遅延前信号保存時刻記録手段４１は、遅延前信号保存時刻計測部３０で計測した遅延前信号バッファ部１０に遅延前信号を保存した時刻を記録する（ステップＳ４１）。平均間隔計算手段４２は、予め定められた数の遅延前信号保存時刻の平均間隔を計算する（ステップＳ４２）。
【００３８】
乗算手段４３は、平均間隔に遅延前信号を保存した順番を表す番号を乗じる（ステップＳ４３）。第１の減算手段４４は、遅延前信号保存時刻記録手段４１に記録した順の遅延前信号保存時刻から、その順と同じ番号の乗算ステップの出力を減じて遅延前信号の揺らぎ量を求める（ステップＳ４４）。
【００３９】
遅延前信号最大値検出手段４５は、遅延前信号の揺らぎ量の最大値を検出する（ステップＳ４５）。遅延前信号最小値検出手段４６は、遅延前信号の揺らぎ量の最小値を検出する（ステップＳ４６）。第２の減算手段４７は、遅延前信号の揺らぎ量の最大値から遅延前信号の揺らぎ量の最小値を減じた値を遅延前信号の揺らぎ最大値として求める（ステップＳ４７）。
【００４０】
遅延後信号揺らぎ推定部６０も、対象とする信号が遅延後信号である点のみが異なるだけで全く同じ処理を行って遅延後信号の揺らぎ最大値を求める。遅延後信号揺らぎ推定部６０の機能構成例は、遅延前信号揺らぎ推定部４０と同じであることから、その構成を図示した説明は省略する。なお、遅延後信号揺らぎ推定部６０の第１の減算手段と第２の減算手段は、遅延前信号揺らぎ推定部４０の減算手段と区別するために、それぞれを第３の減算手段、第４の減算手段と称しても良い。
【００４１】
遅延推定装置１００の加算部７０は、遅延前信号の揺らぎ最大値と遅延後信号の揺らぎ最大値を加算して推定遅延量として出力する。このように遅延推定装置１００は、遅延前信号を遅延前信号バッファに保存する時刻の揺らぎと、遅延後信号を遅延後信号バッファ部２０に保存する時刻の揺らぎとから遅延量を推定する。よって、遅延前信号と遅延後信号の信号レベルが小さくても、又は無い場合でも遅延量を推定することが可能である。
【００４２】
なお、遅延前信号揺らぎ推定部４０は、予め定めた数の遅延前信号保存時刻の平均間隔を求めて遅延前信号揺らぎ量を推定する例で説明を行ったが、平均間隔を求める処理は移動平均で求めても良い。つまり、予め定められた数になるまでは、その数毎に平均間隔を求めてその都度、遅延前信号揺らぎ量を推定するようにしても良い。
【実施例２】
【００４３】
パソコンやスマートフォン等の機器のアプリケーションでは、稀ではあるが、複数のアプリケーションの処理の影響により、遅延前信号バッファ部１０への信号の書き込み、又は遅延後信号バッファ部２０からの信号の読み出しが遅れてしまい、音声が途切れてしまうことがある。このような場合、遅延前信号バッファ部１０への書き込み時刻の揺らぎ、又は遅延後信号バッファ部２０からの読み出し時刻の揺らぎは、各バッファ部が持つバファ長（遅延量）を越えている。したがって、このような場合に推定した揺らぎ量を用いて遅延推定すると推定した遅延量は、実際の遅延量を超えてしまう場合がある。このような大きな揺らぎに対応するためには大きなバッファを用意する必要があるが、無駄に遅延が大きくなってしまう課題がある。
【００４４】
そこで、この問題を解決するための揺らぎ推定部を実施例２として説明する。図７に、揺らぎ量の異常値を示す。横軸は信号をバッファに保存する順番を表す番号、縦軸は差分の時間である。３番目の差分の時間が、平均的な値よりも大きく揺らいでいる。このように分布の中心から大きく外れたものを排除することで、音の途切れが発生するような大きな揺らぎの結果を削除することができる。具体的には、予め設定した区間で揺らぎ量を平均して揺らぎの平均値を求め、揺らぎの平均値から最も離れた結果から順に、予め設定した個数の結果を削除することで、音声の途切れが発生するような大きな揺らぎの結果を削除する。
【００４５】
図８に、音声の途切れが発生するような大きな揺らぎの結果を削除するようにした遅延前信号揺らぎ推定部２４０の機能構成例を示す。遅延前信号揺らぎ推定部２４０は、上に示した遅延前信号揺らぎ推定部４０に対して、遅延前信号特異データ削除手段２４１を備える点で異なる。遅延前信号揺らぎ推定部２４０における処理は、遅延前信号揺らぎ推定部４０の揺らぎ量を求めるステップＳ４４と揺らぎ量の最大値を求めるステップＳ４５の間に、遅延前信号特異データ削除ステップが挿入される。遅延前信号揺らぎ推定部２４０の動作フローを参照した説明は省略する。
【００４６】
遅延前信号特異データ削除手段２４１は、第１の減算手段４４と最大値検出手段４５との間に設けられる。遅延前信号特異データ削除手段２４１は、第１の減算手段４４が出力する揺らぎ量の平均値を求め、その平均値からもっとも離れた値から順に、あらかじめ設定した個数の揺らぎ量を削除して残りの揺らぎ量を出力する。
【００４７】
遅延前信号特異データ削除手段２４１を設けることで、音声が途切れてしまうような誤った揺らぎ量を排除することが出来るので、遅延推定をより正確に行うことが可能になる。
【００４８】
なお、誤った揺らぎ量を排除する動作を遅延前信号で説明したが、遅延後信号についても同様な処理を行う必要がある。遅延後信号については、遅延後信号特異データ削除ステップを、第３の減算ステップと遅延後信号最大値検出ステップとの間に設ければ良い。その動作は、遅延前信号に対する動作と全く同じである。
【００４９】
なお、特異データの削除は、予め設定した個数の結果を削除する例で説明したが、その設定した個数は自動的に決定するようにしても良い。その個数とはフレーム数であり、１フレームの長さは例えば１０ｍｓ/フレーム程度である。推定する遅延は音の場合、例えば数百ｍｓ程度の範囲なので、フレーム数としては２００〜３００個程度の数になり統計的な処理を行うのに十分な数である。よって、予め設定した個数は、例えば３シグマの区間（９９．７％）を越える数に自動的に設定されるようにしても良い。
【実施例３】
【００５０】
遅延量を推定する方法としては、背景技術で説明したように信号間の白色化相互相関を求めて遅延を推定する方法が知られているが、その方法は各信号を周波数領域の信号に変換するための演算量が多いのが課題である。その演算量は、この発明の遅延推定方法を組み合わせることで減らすことが可能である。
【００５１】
図９に、この発明の遅延推定方法と従来の白色化相互相関法を組み合わせた遅延推定装置３００の機能構成例を示す。遅延推定装置３００は、実施例１と２で説明した遅延推定装置１００，２００に、相関遅延推定部３０１を追加した構成である。
【００５２】
相関遅延量推定部３０１は、この発明の遅延推定装置１００，２００で推定した遅延量を入力とする。相関遅延量推定部３０１は、入力される遅延量を最小遅延量とし、その最小遅延量と、予め設定した最大遅延量との範囲で、遅延前信号と遅延後信号との間の白色化相互相関を求め、その白色化相互相関の最大値の位置を探索し、探索したその値を推定遅延量として出力する。ここで、最大遅延量とは、遅延を推定する範囲の上限であり、例えば２００〜３００ｍｓ程度の時間である。
【００５３】
図１０に、遅延推定装置３００の動作フローを示す。遅延推定装置１００の遅延前信号バッファ過程（ステップＳ１０）〜加算過程（ステップＳ７０）の後に、最小遅延量から、予め設定した最大遅延量の範囲で遅延前信号と遅延後信号の相関を求めて遅延時間を推定する相関遅延推定過程（ステップＳ３０１）が挿入されている。なお、作図の都合で相関遅延推定過程（ステップＳ３０１）は、動作終了の判断の処理継続の部分に挿入されているが、ステップＳ７０とステップＳ３８０の間に在っても良い。
【００５４】
遅延推定装置によれば、最大遅延量から最小遅延量を減じた範囲の白色化相互相関を演算するので、最大遅延時間の全ての範囲の白色化相互相関を求めるよりも演算量を削減することができる。
【実施例４】
【００５５】
パソコンやスマートフォン等の機器の遅延前信号バッファ部１０と遅延後信号バッファ部２０の動作は、それぞれ独立に非同期で動作する場合が多い。そこで、各信号の非同期処理に好適な構成とした遅延推定装置４００を次に説明する。
【００５６】
図１１に、遅延推定装置４００の機能構成例を示す。遅延推定装置４００は、遅延後信号推定部６０と加算部７０との間に、設けられるデータ保持部４０１を具備する点に特徴がある。データ保持部４０１は、遅延後信号揺らぎ推定部６０が出力する最新の遅延後信号揺らぎ量を保持する。そして、加算部７０は、遅延前信号揺らぎ推定部４０が出力する遅延前信号の揺らぎ量に、データ保持部４０１に保持された最新の遅延後信号の揺らぎ量を加算して推定遅延量として出力する。
【００５７】
このようにデータ保持部４０１を具備することで、遅延前側と遅延後側の処理を同期させて処理する必要がなくなる。つまり、遅延前側の処理と遅延後側の処理にタイムラグが生じても推定遅延量を容易に出力することができる。
【００５８】
なお、データ保持部４０１を遅延後信号の側に設ける例で説明したが、遅延前信号側に設けても良い。その場合、遅延前信号揺らぎ推定部４０と加算部７０との間にデータ保持部４０１が設けられ、遅延前信号の最新の揺らぎ量を保持する。そして、加算部７０は、遅延後信号揺らぎ推定部４０が出力する遅延後信号の揺らぎ量に、データ保持部４０１に保持された最新の遅延前信号の揺らぎ量を加算して推定遅延量として出力する。
【００５９】
このようにデータ保持部４０１の配置される位置を、遅延後信号側と遅延前信号側のどちらの側にしても、両者の間にタイムラグが生じても推定遅延量を容易に出力可能な遅延推定装置を構成することができる。
【００６０】
図１２に、実施例３で説明した遅延推定装置３００を、両信号の非同期処理に好適な構成とした遅延推定装置５００の機能構成例を示す。遅延推定装置５００は、遅延推定装置４００の構成に加えて第１遅延部５０１と、相関遅延推定部３０１と、第１遅延量保持部５０２と、加算部５０３と、を具備する。
【００６１】
第１遅延部５０１は、遅延前信号を遅延推定装置４００の出力する推定遅延量分の時間遅らせて相関遅延推定部３０１に出力する。また、遅延推定装置４００の出力する推定遅延量は第１遅延量保持部５０２で保持される。
【００６２】
相関遅延推定部３０１は、第１遅延部５０１が出力する遅延された遅延前信号と、遅延後信号との間の白色化相互相関を求めて遅延量を推定する。加算部５０３は、第１遅延量保持部５０２に保持された遅延量と相関遅延推定部３０１が出力する遅延量とを加算して、推定遅延量として出力する。
【００６３】
このように構成することで白色化相互相関法を用いた遅延推定装置においても、遅延前側の処理と遅延後側の処理にタイムラグが生じても推定遅延量を容易に出力することができる。
【００６４】
〔応用例〕
この発明の遅延推定装置１００〜５００は、エコー消去装置に用いることができる。図１３に、この発明の遅延推定装置を用いたエコー消去装置６００の機能構成例を示す。エコー消去装置６００は、遅延推定装置１００と、遅延挿入部６０１と、適応フィルタ６０２と、加算部６０３と、を具備する。遅延推定装置１００は、上記した遅延推定装置２００，３００，４００，５００の何れであっても良い。
【００６５】
遅延推定装置１００は、受話信号である遅延前信号と、送話信号である遅延後信号と、を入力としてその両信号間の推定遅延量を求める。遅延挿入部６０１は、遅延推定装置１００で推定された推定遅延量分の時間遅延させる。
【００６６】
適応フィルタ部６０２は、遅延挿入部６０１で遅延が挿入された遅延前信号を入力として擬似エコー信号を生成する。加算部６０３は、遅延後信号から擬似エコー信号を除去する。
【００６７】
この発明の遅延推定方法で推定した遅延時間を利用するエコー消去装置６００は、長い遅延があってもエコー成分を消去することができる。また、その推定した遅延時間は、遅延前信号と遅延後信号の信号レベルが小さい又は無い場合でも推定できるので、エコー消去装置６００はその様な信号の状態でもエコーキャンセルを行うことが可能である。
【００６８】
上記装置における処理手段をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、各装置における処理手段がコンピュータ上で実現される。
【００６９】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD（Digital Versatile Disc）、DVD-RAM（Random Access Memory）、CD-ROM（Compact Disc Read Only Memory）、CD-R（Recordable）/RW（ReWritable）等を、光磁気記録媒体として、MO（Magneto Optical disc）等を、半導体メモリとしてEEP-ROM（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。
【００７０】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記録装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００７１】
また、各手段は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
2014075757.tif 000006
【図２】
2014075757.tif 000007
【図３】
2014075757.tif 000008
【図４】
2014075757.tif 000009
【図５】
2014075757.tif 000010
【図６】
2014075757.tif 000011
【図７】
2014075757.tif 000012
【図８】
2014075757.tif 000013
【図９】
2014075757.tif 000014
【図１０】
2014075757.tif 000015
【図１１】
2014075757.tif 000016
【図１２】
2014075757.tif 000017
【図１３】
2014075757.tif 000018
【図１４】
2014075757.tif 000019
【図１５】
2014075757.tif 000020
【図１６】
2014075757.tif 000021