(57)【要約】【課題】演算の処理負荷を低減しつつ、リアルタイムに、精度高く、エコーを抑制するエコーキャンセル処理を行うことができる音声通信装置を提供する。【解決手段】ネットワーク上の他の音声通信装置との間でリアルタイムに音声パケットを送受信する音声通信装置であって、他の音声通信装置との間のパケットの往復時間を測定する往復時間測定手段と、他の音声通信装置に送信する送信音声データを格納する音声データバッファ手段と、音声データバッファ手段に格納した送信音声データを往復時間測定手段が測定した往復時間の経過時に読み出させる音声データバッファ制御手段と、音声データバッファ手段が読み出した送信音声データからエコー抑制データを生成するエコー推定手段と、他の音声通信装置より受信した受信音声データからエコー抑制データを減じてエコー抑制を行うエコー抑制手段と、を備える。【選択図】図２
2008061147.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上の他の音声通信装置との間でリアルタイムに音声パケットを送受信する音声通信装置であって、
前記他の音声通信装置との間のパケットの往復時間を測定する往復時間測定手段と、
前記他の音声通信装置に送信する送信音声データを格納する音声データバッファ手段と、
前記音声データバッファ手段に格納した前記送信音声データを前記往復時間測定手段が測定した往復時間の経過時に読み出させる音声データバッファ制御手段と、
前記音声データバッファ手段が読み出した前記送信音声データからエコー抑制データを生成するエコー推定手段と、
前記他の音声通信装置より受信した受信音声データから前記エコー抑制データを減じてエコー抑制を行うエコー抑制手段と、
を備える音声通信装置。
【請求項２】
前記往復時間測定手段は、
パケットの往復時間を測定するための測定パケットを当該音声通信装置から前記他の音声通信装置へ送信した送信時刻と、前記測定パケットに応答する応答パケットを前記他の音声通信装置から受信した受信時刻と、を取得する取得手段と、
前記他の音声通信装置が前記測定パケットを受信してから前記応答パケットを送信するまでに要する装置内部遅延時間を記載した前記応答パケットを前記他の音声通信装置から受信するとともに、前記送信時刻と、前記受信時刻と、前記装置内部遅延時間とに基づいて前記往復時間を算出する応答パケット解析手段と、
を備える請求項１記載の音声通信装置。
【請求項３】
前記往復時間測定手段は、
パケットの往復時間を測定するための測定パケットを当該音声通信装置から前記他の音声通信装置へ送信する送信時刻を前記測定パケットに記載して前記他の音声通信装置に送信する測定パケット生成手段と、
前記他の音声通信装置が前記測定パケットを受信してから前記応答パケットを送信するまでに要する装置内部遅延時間および前記測定パケットの当該音声通信装置からの送信時刻を記載した前記応答パケットを前記他の音声通信装置から受信するとともに、前記受信した応答パケットに記載された前記測定パケットの送信時刻と、前記応答パケットを受信した受信時刻と、前記装置内部遅延時間とに基づいて前記往復時間を算出し、前記音声データバッファ制御手段に前記往復時間を送出する応答パケット解析手段と、
を備える請求項１または請求項２記載の音声通信装置。
【請求項４】
前記往復時間測定手段は、
前記応答パケットを受信した受信時刻から前記測定パケットの送信時刻と前記内部遅延時間を減算して前記往復時間を算出する、
請求項２または請求項３記載の音声通信装置。
【請求項５】
前記往復時間測定手段は、
複数回、往復時間を測定し、複数の測定結果の平均値を往復時間として算出する
請求項１から請求項４のいずれかに記載の音声通信装置。
【請求項６】
前記往復時間測定手段は、前記他の音声通信装置との間の音声パケットの送受信と同時並行的に前記往復時間の測定を行う、
請求項１から請求項５のいずれかに記載の音声通信装置。
【請求項７】
前記測定パケット及び前記応答パケットにはＲＴＣＰパケットを用いる請求項２から請求項６のいずれかに記載の音声通信装置。
【請求項８】
請求項２記載の音声通信装置と音声パケットの送受信を行う他の音声通信装置であって、
前記測定パケットを受信してから前記応答パケットを送信するまでに要する装置内部遅延時間および前記測定パケットの前記音声通信装置からの送信時刻を記載した前記応答パケットを前記音声通信装置へ返信する測定応答手段、
を備える他の音声通信装置。
【請求項９】
前記測定応答手段は、
前記音声通信装置から前記測定パケットを受信し、前記測定パケットに記載されている前記測定パケットの送信時刻を読みとる測定パケット解析手段と、
前記測定パケット解析手段から受け取った送信時刻と、前記測定パケットを受信してから前記応答パケットを送信するまでに要する装置内部遅延時間と、を前記応答パケットに記載して前記音声通信装置へ返信する応答パケット生成手段と、
を備える請求項８記載の他の音声通信装置。
【請求項１０】
ネットワーク上の他の音声通信装置との間でリアルタイムに音声パケットを送受信する音声通信方法であって、
他の音声通信装置との間のパケットの往復時間を測定する往復時間測定ステップと、
送信する送信音声データをバッファに格納する音声データ格納ステップと、
前記音声データ格納ステップで格納した前記送信音声データを前記往復時間の経過時に読み出させる音声データバッファ制御ステップと、
前記音声データバッファ制御ステップで読み出した前記送信音声データからエコー抑制データを生成するエコー推定ステップと、
前記他の音声通信装置から受信した受信音声データから前記エコー抑制データを減じてエコー抑制を行うエコー抑制ステップと、
を有する音声通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声通信装置および音声通信方法に関する。
【背景技術】
【０００２】
インターネット上で音声パケットをリアルタイムに送受信するＩＰ電話機に代表される音声通信装置において、送信した音声が受信側装置で反射し、相手の音声にエコーとして混入して送信側装置に戻り、通話に支障をきたすという問題があった。
【０００３】
一方、アナログ電話網でのモデム通信における従来技術として、エコーキャンセラーの技術が知られている。エコーキャンセラーを搭載した送信側装置は、データの送信に先立つトレーニング手順において、受信側装置に対して、所定波形の信号からなるトレーニングデータを送信する。そして、送信側装置が送信したトレーニングデータの信号と、その信号を受信する受信側装置に反射し伝送路を通過して送信側装置に戻ってきたエコー信号との相関演算により、電話網の伝送路特性である、往復遅延時間（以下、往復時間という）、エコーのゲイン及びエコーの周波数特性を検出する。データの送信時は、トレーニングで取得した伝送路特性により擬似エコーを生成し、取得した往復時間経過の時点で、受信したデータ内から擬似エコー成分を減算することで、エコー抑制を行う。
【０００４】
特許文献１では、本課題を解決するため、アナログ電話網でのエコーキャンセラーの技術をインターネットに適用している。すなわち、送信側装置が音声データを相手側装置にパケット送信するとともにバッファメモリに蓄積し、相手側装置から受信する音声パケットの音声データと、バッファメモリに蓄積した音声データとの相関演算を行って、エコーのゲイン及びエコーの周波数特性及び往復遅延時間を算出する。そして、バッファメモリに蓄積した音声データを往復遅延時間のタイミングで読み出して、エコー抑制信号を生成し、受信した音声データからエコー抑制信号を減算してエコー抑制する。
【０００５】
また、特許文献２では、ＡＴＭ（Asynchronous Transfer Mode）網上のＡＴＭ加入者装置（ＯＮＵ（Optical Network Unit））に収容される電話端末とＳＴＭ（Synchronous Transfer Mode, 非ＡＴＭ）網の電話端末との通話におけるエコーを抑制する技術が開示されている。特許文献２では、ＡＴＭ網上の電話端末と通信路に介在する第２通信装置（ＡＴＭ局側装置（ＯＬＴ（Optical Line Termination））若しくはＩＷＵ（Inter Work Unit））との間の往復遅延をＡＴＭセルを使って測定し、測定された遅延時間のタイミングでエコー抑制信号を受信信号から減算することでエコーの抑制を実現している。
【特許文献１】特開２００２−２０４１８７号公報
【特許文献２】特開２００１−２８５１４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１のエコー抑制の技術では、エコーのゲイン、伝送周波数特性および遅延時間を算出するため、送信した音声データと受信した音声データの積和演算により相関を算出するには演算の処理負荷が大きい。また、相関を算出する演算の処理負荷が大きいので、遅延時間を再算出してエコー抑制信号を生成するには時間を要するために、ネットワーク上の遅延時間の変動に対して、リアルタイムに適応的に、エコー抑制を行うことは困難であるという問題がある。
【０００７】
また、引用文献２のエコー抑制の技術では、測定する遅延時間は、最終末端の相手側電話機との遅延時間ではなく、ＡＴＭ加入者装置とＡＴＭ局側装置の間の遅延時間、または、ＡＴＭ加入者装置とＩＷＵ（ＡＴＭ網と非ＡＴＭ網の接続装置）との遅延時間である。
【０００８】
このため、エコー抑制信号の生成が十分に正確にはならず、エコーの抑制が十分ではないという問題がある。また、この遅延時間は、固定した値であるので、通信状態の変化に対して対応できない。さらに、遅延時間の測定にＡＴＭセルを使っており、ＡＴＭを利用しない通信路では実施できない。また、測定のために専用のパケットを送受信しているため演算処理負荷が大きいという問題もある。
【０００９】
本発明は、かかる問題点に鑑みてなされたものであり、エコーキャンセル処理に伴う、演算の処理負荷を低減しつつ、リアルタイムに、精度高く、エコーキャンセル処理を行う通信装置を実現することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、ネットワーク上の他の音声通信装置との間でリアルタイムに音声パケットを送受信する音声通信装置であって、前記他の音声通信装置との間のパケットの往復時間を測定する往復時間測定手段と、前記他の音声通信装置に送信する送信音声データを格納する音声データバッファ手段と、前記音声データバッファ手段に格納した前記送信音声データを前記往復時間測定手段が測定した往復時間の経過時に読み出させる音声データバッファ制御手段と、前記音声データバッファ手段が読み出した前記送信音声データからエコー抑制データを生成するエコー推定手段と、前記他の音声通信装置より受信した受信音声データから前記エコー抑制データを減じてエコー抑制を行うエコー抑制手段と、を備える構成を採る。
【発明の効果】
【００１１】
本発明によれば、演算の処理負荷を低減しつつ、リアルタイムに、精度高く、エコーを抑制するエコーキャンセル処理を行うことができる。
【発明を実施するための最良の形態】
【００１２】
本発明の第１の態様に係る音声通信装置は、ネットワーク上の他の音声通信装置との間でリアルタイムに音声パケットを送受信する音声通信装置であって、前記他の音声通信装置との間のパケットの往復時間を測定する往復時間測定手段と、前記他の音声通信装置に送信する送信音声データを格納する音声データバッファ手段と、前記音声データバッファ手段に格納した前記送信音声データを前記往復時間測定手段が測定した往復時間の経過時に読み出させる音声データバッファ制御手段と、前記音声データバッファ手段が読み出した前記送信音声データからエコー抑制データを生成するエコー推定手段と、前記他の音声通信装置より受信した受信音声データから前記エコー抑制データを減じてエコー抑制を行うエコー抑制手段と、を備える構成を採る。
【００１３】
この構成によれば、往復時間測定手段が往復時間を測定し、音声データバッファ手段に格納した送信音声データを往復時間の経過時に読み出させるため、前記音声データバッファ手段が読み出した前記送信音声データ演算の処理負荷を低減しつつ、リアルタイムに、精度高く、エコーを抑制するエコーキャンセル処理を行うことができる。
【００１４】
本発明の第２の態様に係る音声通信装置は、第１の態様に係る音声通信装置において、前記往復時間測定手段は、パケットの往復時間を測定するための測定パケットを当該音声通信装置から前記他の音声通信装置へ送信した送信時刻と、前記測定パケットに応答する応答パケットを前記他の音声通信装置から受信した受信時刻と、を取得する取得手段と、前記他の音声通信装置が前記測定パケットを受信してから前記応答パケットを送信するまでに要する装置内部遅延時間を記載した前記応答パケットを前記他の音声通信装置から受信するとともに、前記送信時刻と、前記受信時刻と、前記装置内部遅延時間とに基づいて前記往復時間を算出する応答パケット解析手段と、を備える構成を採る。
【００１５】
この構成によれば、測定パケットおよびその応答パケットを通話用音声パケットと同等の通信路を通過させて往復時間を測定しているのでより精度の高い往復時間の測定およびエコーキャンセル処理と行うことができる。
【００１６】
本発明の第３の態様に係る音声通信装置は、第１または第２の態様に係る音声通信装置において、前記往復時間測定手段は、パケットの往復時間を測定するための測定パケットを当該音声通信装置から前記他の音声通信装置へ送信する送信時刻を前記測定パケットに記載して前記他の音声通信装置に送信する測定パケット生成手段と、前記他の音声通信装置が前記測定パケットを受信してから前記応答パケットを送信するまでに要する装置内部遅延時間および前記測定パケットの当該音声通信装置からの送信時刻を記載した前記応答パケットを前記他の音声通信装置から受信するとともに、前記受信した応答パケットに記載された前記測定パケットの送信時刻と、前記応答パケットを受信した受信時刻と、前記装置内部遅延時間とに基づいて前記往復時間を算出し、前記音声データバッファ制御手段に前記往復時間を送出する応答パケット解析手段と、を備える構成を採る。
【００１７】
この構成によれば、測定のために専用のパケットを使わず、標準的に用意されているパケットを用いて送受信することができるため演算処理の負担を小さくすることができる。
【００１８】
本発明の第４の態様に係る音声通信装置は、第２または第３の態様に係る音声通信装置において、前記往復時間測定手段は、前記応答パケットを受信した受信時刻から前記測定パケットの送信時刻と前記内部遅延時間を減算して前記往復時間を算出する、構成を採る。
【００１９】
この構成によれば、内部遅延時間を減算しているため、往復時間をより精確に算出することができる。
【００２０】
本発明の第５の態様に係る音声通信装置は、第１の態様から第４の態様のいずれかに係る音声通信装置において、前記往復時間測定手段は、複数回、往復時間を測定し、複数の測定結果の平均値を往復時間として算出する構成を採る。
【００２１】
この構成によれば、複数の測定結果の平均値を往復時間として算出するため、一過性の揺らぎなどによる測定結果への影響を少なくすることができるのでより精確な往復時間が算出できる。
【００２２】
本発明の第６の態様に係る音声通信装置は、第１の態様から第５の態様のいずれかに係る音声通信装置において、前記往復時間測定手段は、前記他の音声通信装置との間の音声パケットの送受信と同時並行的に前記往復時間の測定を行う構成を採る。
【００２３】
この構成によれば、往復時間の測定が、音声パケットの送受信と同時並行的にされるため、音声パケットの送受信の処理に影響を与えずに実現できる。
【００２４】
本発明の第７の態様に係る音声通信装置は、第２の態様から第６の態様のいずれかに係る音声通信装置において、前記測定パケット及び前記応答パケットにはＲＴＣＰパケットを用いる構成を採る。
【００２５】
この構成によれば、測定のために専用のパケットを使わず、標準的に用意されているパケットを用いて送受信することができるため演算処理の負担を小さくすることができる。
【００２６】
本発明の第８の態様に係る音声通信装置は、第２の態様に係る音声通信装置と音声パケットの送受信を行う他の音声通信装置であって、前記測定パケットを受信してから前記応答パケットを送信するまでに要する装置内部遅延時間および前記測定パケットの前記音声通信装置からの送信時刻を記載した前記応答パケットを前記音声通信装置へ返信する測定応答手段を備える構成を採る。
【００２７】
この構成によれば、測定パケットおよび応答パケットに音声パケットと同等の通信路を通過させて往復時間を測定しているのでより精度の高い往復時間の測定およびエコーキャンセル処理と行うことができる。
【００２８】
本発明の第９の態様に係る音声通信装置は、第８の態様に係る音声通信装置において、前記測定応答手段は、前記音声通信装置から前記測定パケットを受信し、前記測定パケットに記載されている前記測定パケットの送信時刻を読みとる測定パケット解析手段と、前記測定パケット解析手段から受け取った送信時刻と、前記測定パケットを受信してから前記応答パケットを送信するまでに要する装置内部遅延時間と、を前記応答パケットに記載して前記音声通信装置へ返信する応答パケット生成手段と、を備える構成を採る。
【００２９】
この構成によれば、測定のために専用のパケットを使わず、標準的に用意されているパケットを用いて送受信することができるため演算処理の負担を小さくすることができる。
【００３０】
本発明の第１０の態様に係る音声通信方法は、ネットワーク上の他の音声通信装置との間でリアルタイムに音声パケットを送受信する音声通信方法であって、他の音声通信装置との間のパケットの往復時間を測定する往復時間測定ステップと、送信する送信音声データをバッファに格納する音声データ格納ステップと、前記音声データ格納ステップで格納した前記送信音声データを前記往復時間の経過時に読み出させる音声データバッファ制御ステップと、前記音声データバッファ制御ステップで読み出した前記送信音声データからエコー抑制データを生成するエコー推定ステップと、前記他の音声通信装置から受信した受信音声データから前記エコー抑制データを減じてエコー抑制を行うエコー抑制ステップと、を有するようにした。
【００３１】
この方法によれば、往復時間測定ステップにより往復時間を測定し、音声データ格納ステップにより格納した送信音声データを往復時間の経過時に読み出させるため、音声データバッファ制御ステップで読み出した前記送信音声データ演算の処理負荷を低減しつつ、リアルタイムに、精度高く、エコーを抑制するエコーキャンセル処理を行うことができる。
【００３２】
以下、本発明の実施の形態に係る音声通信装置の構成・動作について、図面を用いて詳細に説明する。なお、同一の構成要素には同一の符号を付し、その説明を適宜省略する。
【００３３】
図１は、本発明の一実施の形態に係る音声通信装置を適用したパケット通信システムの構成例を示すシステム構成図である。ここでは、パケット通信システムとして、ＩＰ電話システムを例にとって説明する。
【００３４】
図１（Ａ）は、ＩＰ電話機を用いたＩＰ電話システムのシステム構成図である。図１（Ａ）に示すＩＰ電話システムは、複数（ここでは単純化のため２台のみ示す）のＩＰ電話機１００ａ、１００ｂ（以下、任意のＩＰ電話機を符号「１００」で示す）をＩＰ網２００に接続して構成されている。ＩＰ電話機１００は、音声通話にＶｏＩＰ（Voice over Internet Protocol）技術を用いた電話サービスを利用するための電話機である。後述するエコーキャンセル処理は、このＩＰ電話機１００で実行される。ＩＰ網２００は、パケット通信網の一つであり、インターネットプロトコルに従ってＩＰパケットを送受信する通信網である。
【００３５】
図１（Ｂ）は、一般電話機（アナログ電話機とも呼ばれる）を用いたＩＰ電話システムのシステム構成図である。図１（Ｂ）に示すＩＰ電話システムは、複数（ここでは単純化のため２台のみ示す）の一般電話機３００ａ、３００ｂ（以下、任意の一般電話機を符号「３００」で示す）を、ＶｏＩＰターミナルアダプタ（ＶｏＩＰ−ＴＡ）４００ａ、４００ｂ（以下、任意のＶｏＩＰターミナルアダプタを符号「４００」で示す）を介して、ＩＰ網２００に接続して構成されている。ＶｏＩＰターミナルアダプタ４００は、一般電話機３００によってＩＰ電話を利用するための電話回線接続機器である。
【００３６】
本実施の形態のＩＰ電話機の構成について、以下に説明する。図２は、図１（Ａ）のＩＰ電話機１００の構成を示すブロック図である。
【００３７】
ＩＰ電話機１００は、音声出力部１１０、音声入力部１４０、エコーキャンセラー部１２０、ＲＴＰパケット送受信部１３０、タイマ１３２、往復時間測定部１５０、測定応答部１６０、ＲＴＣＰパケット送受信部１７０、呼制御部１８０および呼制御パケット送受信部１９０とから構成されている。
【００３８】
音声入力部１４０は、マイク等を備え、ＩＰ電話機と人間との間の音声インターフェースとして機能する。さらに音声のアナログ信号を音声データに変換し、その音声データをＲＴＰパケット送受信部１３０に渡す。ＲＴＰパケット送受信部１３０は受け取った音声データを符号化し、さらに所定フォーマットのパケットを生成する。
【００３９】
ＲＴＰパケット送受信部１３０に入力された音声データは、符号化（圧縮）されて例えば１０ｍｓ単位のフレームに変換され、さらに所定フォーマットでパケット化される。その際に、ＲＴＰ（Real-time Transport Protocol）のようなプロトコルを利用してデータパケットをネットワーク上で送信する場合は、ＲＴＰパケットのヘッダにタイムスタンプやシーケンス番号が記述される。
【００４０】
ＲＴＰパケット送受信部１３０は、パケットのヘッダを解析すると共にフレームを取り出す。さらに、音声復号化処理を行い、取り出したフレームを音声データに変換してエコーキャンセラー部１２０を介して音声出力部１１０に渡す。音声出力部１１０は受け取った音声データをアナログ音声信号に変換して内部のスピーカー等から音声として出力する。
【００４１】
ＲＴＰパケット送受信部１３０は、ＩＰ電話機の音声データの通信インターフェースであり、ＩＰ網２００との間でＲＴＰ（Real-time Transport Protocol）パケットの送受信を行う。尚、ＲＴＰは、音声データや映像をリアルタイムに転送することを目的としたプロトコルである。
【００４２】
このＲＴＰパケット送受信部１３０は、音声入力部１４０から入力された音声データをＲＴＰによりＩＰ網２００へ送信するとともに、ＩＰ網２００からＲＴＰパケットを受信する。ＲＴＰパケット送受信部１３０は、受信したパケットの音声データをエコーキャンセラー部１２０に入力する。
【００４３】
エコーキャンセラー部１２０は、受信したパケットの音声データからエコー抑制データを減じてエコー抑制するエコーキャンセル処理を実行して、実行後の音声データを音声出力部１１０へ渡す。
【００４４】
エコーキャンセラー部１２０は、制御部１２１、音声データバッファ部１２２、エコー推定部１２４および減算部１２９とから構成されている。エコー抑制データは、送信処理と同時に一時的にバッファされた送信音声データを所定タイミングで読み出すことにより、生成される。上記タイミングは、往復時間測定部１５０から通知される、往復時間と往復時間の更新の有無情報とにより、定められる。そして、エコーキャンセル処理後の音声データを音声出力部１１０へ渡す。
【００４５】
制御部１２１は、エコーキャンセラー部１２０の動作を統括する。更に、制御部１２１は、応答パケット解析部１５２から、往復時間および往復時間の更新の有無の情報を受け取り、制御部１２１の内部にある図示しない記憶部に記憶させておく。そして往復時間測定処理の完了後に往復時間更新の通知があると、音声データバッファ部１２２のデータ読み出し位置を最新の往復時間に対応する読み出し位置に変更する。応答パケット解析部１５２については、後述する。
【００４６】
音声データバッファ部１２２は、音声入力部１４０から音声データを受け取り蓄積する。また、制御部１２１が、応答パケット解析部１５２から受け取る往復時間および往復時間の更新通知に基づいて、更新された往復時間に対応する読み出し位置を選択することにより、音声データバッファ部１２２は、音声入力部１４０より音声データを受け取ってからその音声データのエコーが戻る時に、エコー推定部１２４へその音声データを渡すことができる。エコー推定部１２４については、後述する。
【００４７】
図３は、音声データバッファ部１２２の構成を示す図である。この図３では、入力する音声データがアドレス０に入るようになっている。この音声データバッファ部１２２は、シフトレジスタの動作を行う。すなわち、ある音声データがアドレス０にある状態で、次の音声データがアドレス０に入ろうとすると、アドレス０に格納された音声データはアドレス１に移り、さらに次の音声データがアドレス０に入ると、すでに格納された音声データは順次一つ下の位置にシフトしていく。そして図３の場合は、データ読み出し位置と記されているアドレス３の位置までくると、音声データが読み出されるようになっている。つまり、制御部１２１は、応答パケット解析部１５２から受け取る往復時間および往復時間の更新通知に基づいて、更新された往復時間と、音声データバッファ部１２２において音声データが入力してから出力するまでの遅延時間とが等しくなるように音声データバッファ部１２２のデータ読み出し位置を決定し、選択する。
【００４８】
すなわち、音声データが入力する位置からデータを読み出す位置までの距離（データの数）は、音声データが音声データバッファ部１２２において滞留することによる遅延時間に対応することになる。そこで、往復時間測定部１５０で測定された往復時間と等しい遅延時間に対応する位置（アドレス）の音声データに対して、エコー推定部１２４において演算処理を施す。演算処理された音声データはエコー抑制信号として減算部１２９に出力し、この音声データを、エコーキャンセラー部１２０がＲＴＰパケット送受信部１３０から受け取った受信パケットの音声データから減算する。このようにすれば、エコー信号とエコー推定部１２４から出力するエコー抑制信号とのタイミングが合うようにすることができる。
【００４９】
上述のとおり、エコーキャンセラー部１２０は、受信したパケットの音声データから、エコー抑制データを減じることにより、エコーキャンセル処理を実行する。以下、このエコー抑制データをどのように生成するのかを説明する。
【００５０】
往復時間測定部１５０は、ＩＰ電話機１００が音声データをＩＰ網２００へ送信するときに、相手方ＩＰ電話機１００ｂからエコーとなって戻ってくるのに要する往復時間（遅延時間）を測定する。往復時間測定部１５０は、測定パケット生成部１５４および応答パケット解析部１５２とから構成される。この往復時間測定は音声パケット送受信開始後は、所定の時間毎に繰り返し実行される。
【００５１】
測定パケット生成部１５４は、送信時刻を送信パケットに記入して、往復時間を測定する基準となる測定パケットを生成する。送信時刻の記入は、タイマ１３２に基づいて行う。生成された測定パケットは、ＲＴＣＰパケット送受信部１７０を経由して、相手方のＩＰ電話機１００ｂへ送信される。尚、この測定パケットは、ＲＴＣＰ（Real-time Control Protocol）パケットの一つであり、ＲＴＣＰに基づいている。このＲＴＣＰは、ＩＰネットワークのリアルタイム転送の方式であるＲＴＰを補助するプロトコルであり、フロー制御、クロック同期、メディア間同期等を実現するために送信装置と受信装置の間で制御情報を通知し合うものである。ＲＴＣＰパケットは、これらの制御情報を通知し合うためのパケットである。
【００５２】
応答パケット解析部１５２は、相手方のＩＰ電話機１００ｂから直近に受け取った応答パケットに記入された、測定パケットの送信時刻と相手側のＩＰ電話機１００ｂの装置内部遅延時間をもとに往復時間を計算する。そして応答パケット解析部１５２は、内部にある図示しない記憶部にその往復時間を書き込むことにより一時的に記憶する。その後、応答パケット解析部１５２は、次に到着した応答パケットにより往復時間を計算すると、その計算結果と記憶部に書き込まれた以前の往復時間とを比較して、往復時間の更新があったのかそれとも以前と同一かを判断する。応答パケット解析部１５２は、その最新の往復時間および往復時間の更新の有無をエコーキャンセラー部１２０の制御部１２１へ通知する。
【００５３】
測定応答部１６０は、ＩＰ電話機１００がＩＰ電話機１００ｂの相手方の電話機となった場合、ＩＰ電話機１００ｂから送信されてきた、往復時間を測定するための測定パケットを受信したときに、応答パケットを返信するために必要な動作を行う。測定応答部１６０は、測定パケット解析部１６２および応答パケット生成部１６４とから構成されている。
【００５４】
測定パケット解析部１６２は、ＩＰ電話機１００ｂから送信されてきた測定パケットを送信端末の通知（ＳＲ（Sender Report））として、ＲＴＣＰパケット送受信部１７０から受け取り、その測定パケットに記入された送信時刻を読みとり、応答パケット生成部１６４へ渡す。
【００５５】
応答パケット生成部１６４は、測定パケットの受信時刻から応答パケットの送信時刻までの時間をタイマ１３２に基づいて計り、応答パケットのＤＬＳＲ（Delay since Last Sender Report）の欄に記入する。また、応答パケット生成部１６４は、測定パケット解析部１６２から受け取った直近の測定パケットの送信時刻をコピーして応答パケットに記載する。応答パケット生成部１６４は、受信端末の通知（ＲＴＣＰのＲＲ（Receiver Report））としてこの応答パケットを、ＲＴＣＰパケット送受信部１７０を介してＩＰ網２００経由でＩＰ電話機１００ｂへ送出する。
【００５６】
ＲＴＣＰパケット送受信部１７０は、測定パケット生成部１５４から受け取った測定パケットを、ＩＰ網２００を介して相手方のＩＰ電話機１００ｂへ送信する。また、ＲＴＣＰパケット送受信部１７０は、相手方のＩＰ電話機１００ｂから返信されてきた応答パケットを受取り、その応答パケットを応答パケット解析部１５２へ引き渡す。この応答パケットは、測定パケットと同様、ＲＴＣＰ（Real-time Control Protocol）パケットの一つである。
【００５７】
さらに、ＲＴＣＰパケット送受信部１７０は、相手方のＩＰ電話機１００ｂから測定パケットをＩＰ網２００を介して受け取ると、測定パケット解析部１６２へ渡す。また、ＲＴＣＰパケット送受信部１７０は、応答パケット生成部１６４から応答パケットを受け取るとその応答パケットをＩＰ網２００を介して相手方のＩＰ電話機１００ｂに対して返信する。
【００５８】
タイマ１３２は、ＩＰ電話機１００の各部における時間の基準となるものであり、各部と接続されており（図示せず）、動作に必要な時刻の情報を各部に供給する。
【００５９】
呼制御部１８０は、通話相手を特定し通話チャネル間を確立させる制御を行う。より具体的には、ダイヤリング、リンギング、応答等の呼設定機能、メッセージのやり取りに関する制御を行う。
【００６０】
図４は、エコー推定部１２４の構成を示すブロック図である。エコー推定部１２４は、フィルタ係数更新部１２５、フィルタ演算部１２６から構成されている。フィルタ演算部１２６は、音声データバッファ部１２２から音声データを受け取る。さらに、フィルタ演算部１２６は、フィルタ係数更新部１２５からフィルタ係数を受け取り、そのフィルタ係数をもとに音声データバッファ部１２２から受け取った音声データに対し、フィルタ演算を行う。
【００６１】
そしてフィルタ演算部１２６は、フィルタ演算を施した音声データをエコー抑制信号として減算部１２９へ出力する。減算部１２９は、ＲＴＰパケット送受信部１３０から受け取った音声データから、エコー推定部１２４から受け取ったエコー抑制信号を減算して音声出力部１１０へ出力する。これにより、音声出力部１１０は、エコー信号によるノイズを除去した音声データを受け取ることができる。
【００６２】
このフィルタの特性は、ＩＰ電話機１００から相手方のＩＰ電話機１００ｂまでと、そこから反射してＩＰ電話機１００へ戻るまでとの全ての伝送路の全体としての特性とほぼ等価となるよう選ばれる。フィルタ係数更新部１２５は、ＲＴＰパケット送受信部１３０から減算部１２９に入力するエコー信号からエコー推定部１２４の出力であるエコー抑制信号を減算した結果である残留エコー（誤差信号）を減算部１２９から受け取る。このとき、ＲＴＰパケット送受信部１３０からエコー信号のみが入力される場合は、フィルタ係数更新部１２５は、この残留エコーが十分少なくなるように、逐次、フィルタ係数の特性を決定する。より詳細には、フィルタ係数更新部１２５は、学習同定法や最小二乗法（ＬＭＳ（Least Mean Square））法等の手法によりフィルタ係数を更新する。
【００６３】
本実施の形態のＶｏＩＰターミナルアダプタの構成について、以下に説明する。図５は、図１（Ｂ）のＶｏＩＰターミナルアダプタ（ＶｏＩＰ−ＴＡ）４００の構成を示すブロック図である。
【００６４】
音声入力部４２０は一般電話機３００からハイブリッド回路４３０を介してアナログ音声信号を入力する。音声入力部４２０はこのアナログ信号を音声データに変換し、その音声データをＲＴＰパケット送受信部１３０に渡す。ＲＴＰパケット送受信部１３０は、これを符号化（圧縮）して例えば１０ｍｓ単位のフレームに変換して、所定フォーマットのパケットを形成する。
【００６５】
例えば、ＲＴＰ（Real-time Transport Protocol）のようなプロトコルを利用してデータパケットをネットワーク上で送信する場合は、ＲＴＰパケットのヘッダにタイムスタンプやシーケンス番号が記述される。
【００６６】
ＲＴＰパケット送受信部１３０は、ヘッダを解析してフレームを取り出す。さらに、音声復号化処理を行い、取り出したフレームを音声データに変換し、エコーキャンセラー部１２０を介して音声出力部４１０にその音声データを渡す。音声出力部４１０は受け取った音声データをアナログ音声信号に変換して、ハイブリッド回路４３０へ渡し、ハイブリッド回路４３０から一般電話機３００へ出力する。
【００６７】
ハイブリッド回路４３０は、図中右側の一般電話機３００からのアナログ信号は音声入力部４２０へ向かって左方向だけに、音声出力部４１０からのアナログ信号は一般電話機３００へ向かって右方向だけに伝達されるように、それぞれ方向性を与える回路のことである。
【００６８】
図５のその他の構成要素は図２のＩＰ電話機の構成要素と同一の記号を付してあり、同一の機能を有するためその説明を省略する。
【００６９】
図１１は、ＲＴＣＰで定められたパケットの構造のうち、主として本発明と直接関係する部分について記載したものである。測定パケットして使われるＲＴＣＰ（ＳＲ（Sender Report））について説明すると、ＲＴＣＰ（ＳＲ）の欄には、送信端末の通知である旨が記載され、ＮＴＰ（Network Time Protocol）の欄には、上位３２ビットと、下位３２ビットとに分けて当該ＳＲを送信した送信時刻が記載されている。
【００７０】
次に、応答パケットとして使われるＲＴＣＰ（ＲＲ（Receiver Report））について説明すると、ＲＴＣＰ（ＲＲ）の欄には、受信端末の通知である旨が記載され、ＬＳＲ（Last Sender Report timestamp）の欄の下位３２ビットには、直近のＲＴＣＰ（ＳＲ）の送信時刻が記載され、ＤＬＳＲ（Delay since Last Sender Report）の欄には、直近のＲＴＣＰ（ＳＲ）の受信時刻からＲＴＣＰ（ＲＲ）の送信時刻までの遅延時間が記載される。
【００７１】
本発明では、ＲＴＣＰを利用して測定パケットや応答パケットを生成し、送出しているため、別途、専用のパケットを生成する必要が無く、処理負荷が小さくて済むという効果がある。
【００７２】
次に、上記構成を有する音声通信装置の動作について、図面を用いて説明する。以下の動作は、ＩＰ電話機１００について説明する。ＶｏＩＰターミナルアダプタ４００の場合も全く同様に理解することができるのでその説明を省略する。
【００７３】
まず、ＩＰ電話機１００全体の基本動作について図６を参照して説明する。図６は、図２に示すＩＰ電話機の動作を表すフロー図である。
【００７４】
始めに、ＩＰ電話機１００は、ユーザが発呼側（ＩＰ電話機１００）の送受話器を取ったこと（オフフック）を検出する（Ｓ６００）。次にＩＰ電話機１００は、ユーザがダイヤリングを行ったことを認識する（Ｓ６０５）。そして、ＩＰ電話機１００は、相手側の呼び出しを行うために相手方のＩＰ電話機１００ｂのベルを鳴らす（リンギング）ための処理を行う（Ｓ６１０）。次に、ＩＰ電話機１００は、着呼側のユーザがＩＰ電話機１００ｂの送受話器を取ったこと（オフフック）を認識する（Ｓ６１５）。これにより、ＩＰ電話機１００と、ＩＰ電話機１００ｂとの通話が開始される（Ｓ６２０）。
【００７５】
通話が開始されると、ＩＰ電話機１００は、音声パケットの送受信を開始する（Ｓ６２５）。ＩＰ電話機１００の往復時間測定部１５０およびＩＰ電話機１００ｂの測定応答部１６０は、後述する往復時間測定処理を行う（Ｓ６３０）。往復時間の測定ができると、往復時間測定部１５０の応答パケット解析部１５２は、内部の図示しない記憶部に測定した往復時間を記憶する。
【００７６】
そして、その往復時間および往復時間が更新されたかどうかをエコーキャンセラー部１２０の制御部１２１へ通知する（Ｓ６３０）。制御部１２１は、自身が有する図示しない記憶部にその通知内容を保存する。
【００７７】
次に、制御部１２１は、内部にある図示しない記憶部を参照することにより往復時間が更新された旨の通知があったかどうかを判断する（Ｓ６３５）。もし往復時間が更新された通知があったのであれば（Ｓ６３５：ＹＥＳ）、エコーキャンセラー部１２０の制御部１２１は、音声データバッファ部１２２のデータ読み出し位置を変更する（Ｓ６４０）。その後、後述するエコーキャンセル処理を行う（Ｓ６４５）。
【００７８】
もし往復時間更新の通知がされていなければ（Ｓ６３５：ＮＯ）、音声データバッファ部１２２のデータ読み出し位置は変更されない。そのまま後述するエコーキャンセル処理を行う（Ｓ６４５）。
【００７９】
次に、ＩＰ電話機１００は、オンフックされたかどうかを、すなわち送受話器をユーザが置いたかどうかを判断し、もしオンフックされていなければ（Ｓ６５０：ＮＯ）、ステップ６３０の往復時間測定処理に戻り、上記処理（ステップ６３０からステップ６４５、まで）を繰り返す。もしオンフックされていれば（Ｓ６５０：ＹＥＳ）、ＩＰ電話機１００は切断処理を行い（Ｓ６５５）、処理が終了する。
【００８０】
なお、通話に先だつ呼制御の手順の段階で、往復時間の測定と、ホワイトノイズからなるトレーニング用の信号（以下、トレーニング信号）を使ったエコーキャンセラーの学習を行ってもよい。これにより、エコー推定フィルタ係数を最適化できるので、通話の開始の段階から精度の高いエコーキャンセルが可能となり、エコーの抑制された通話が実現されるという効果がある。
【００８１】
以下に、図７を参照して通話開始前にトレーニングを実行する場合のＩＰ電話機１００全体の基本動作について説明する。図７は、通話開始前にトレーニングを実行する場合のＩＰ電話機１００全体の基本動作を表すフロー図である。ステップ６１０以前の動作と、ステップ６２０以降の動作は、図６の場合の動作と全く同一であるので、同一のステップ番号を付し、その部分については説明を省略する。
【００８２】
リンギング動作が開始すると（Ｓ６１０）、ＩＰ電話機１００は、通話開始前のトレーニング処理を行う（Ｓ７１０）。その内容については後述する。そして、ＩＰ電話機１００が、着呼側のＩＰ電話機１００ｂのオフフックを検出しないうちは（Ｓ７２０：ＮＯ）、通話開始前のトレーニング処理を繰り返し行う（Ｓ７１０）。ＩＰ電話機１００が、着呼側のＩＰ電話機１００ｂのオフフックを検出した場合（Ｓ７２０：ＹＥＳ）は、通話が開始される（Ｓ６２０）。
【００８３】
次に、図８を参照して、ステップ７１０の通話開始前のトレーニング処理の内容を詳細に説明する。
【００８４】
最初に図９（Ａ）、図９（Ｂ）に示す往復時間測定処理を行う（Ｓ８００）。次に、往復時間測定部１５０の応答パケット解析部１５２が、往復時間の計算を１回以上行い、かつ完了しているかどうかを判断する（Ｓ８１０）。一回以上の計算を完了していないと応答パケット解析部１５２が判断した場合は（Ｓ８１０：ＮＯ）、トレーニング処理を終了し、ステップ７２０において、着呼側がオフフックでない限り（Ｓ７２０：ＮＯ）、ステップ７１０のトレーニング処理を繰り返す。つまり、一回往復時間が計算されるまではトレーニング用の信号を送信しない。一度往復時間の計算が完了した後は、着呼側がオフフックするまでエコーキャンセラー部１２０の学習を行なう。
【００８５】
一回以上の計算を完了していると応答パケット解析部１５２が判断した場合は（Ｓ８１０：ＹＥＳ）、更新があった旨をエコーキャンセラー部１２０の制御部１２１に通知する。制御部１２１は、往復時間の更新の通知があったかどうかを判断する（Ｓ８２０）。制御部１２１が、往復時間の更新の通知があったと判断した場合（Ｓ８２０：ＹＥＳ）、制御部１２１は、音声データバッファ部１２２のデータ読みだし位置を更新された往復時間に対応するデータ読み出し位置に変更する（Ｓ８３０）。これによりエコー抑制信号の遅延時間を変更し、実際のエコー信号とタイミングを合わせることができる。その後は、音声入力部１４０は、トレーニング信号を送信するために、ＲＴＰパケット送受信部１３０と音声データバッファ部１２２にトレーニング信号を渡して送信する（Ｓ８４０）。
【００８６】
トレーニング信号に対するエコー信号に相当するトレーニング応答信号をＲＴＰパケット送受信部１３０が受信する（Ｓ８５０）。その後、後述するエコーキャンセル処理を行う（Ｓ８６０）。
【００８７】
次に、ステップ６３０やステップ８００の往復時間測定処理の具体的な内容を図９（Ａ）、図９（Ｂ）により説明する。図９（Ａ）は、ＩＰ電話機１００の往復時間測定部１５０の動作を示すフロー図である。図９（Ｂ）は、相手方のＩＰ電話機１００ｂの測定応答部１６０の動作を示すフロー図である。
【００８８】
まず、図９（Ａ）を参照して、ＩＰ電話機１００の往復時間測定部１５０の動作を説明する。始めに往復時間測定部１５０の測定パケット生成部１５４は、音声データバッファ部１２２に音声データのパケットが入力されると、タイマ１３２に基づいてＳＲとしての測定パケット(図１１参照)にＲＴＣＰ（ＳＲ）送信時刻を書き込み、測定パケットを生成する（Ｓ９００）。次に、測定パケット生成部１５４は、測定パケットをＲＴＣＰパケット送受信部１７０へ渡して、ＩＰ電話機１００ｂへ送信する（Ｓ９０５）。
【００８９】
次に、ＩＰ電話機１００の応答パケット解析部１５２は、所定時間の経過時に、ＩＰ電話機１００ｂから応答パケットとしてのＲＴＣＰ（ＲＲ）を受信したかどうかを判断する（Ｓ９１０）。もし受信していなければ（Ｓ９１０：ＮＯ）、処理を終了する。すなわち、往復時間測定部１５０は、応答パケットが所定時間経過時に受信されない場合は、測定を中止し、往復時間の更新をしないでエコーキャンセル処理を行い（Ｓ６４５）、オンフックとならない限り、再度、測定パケットを送信して測定を行うことになる（Ｓ６５０：ＮＯ）。尚、本実施の形態では、上記のように所定時間経過時に応答パケットを受信しない場合は、往復時間測定処理を終了することにしているが、所定時間経過時に応答パケットを受信しない場合は、その測定を中止し、すぐに再度、測定パケットを送信し直して、測定を行うようにしてもよい。
【００９０】
もし、応答パケット解析部１５２が、所定の時間内にＩＰ電話機１００ｂから応答パケットとしてのＲＴＣＰ（ＲＲ）を受信していれば（Ｓ９１０：ＹＥＳ）、応答パケット解析部１５２は、応答パケットのＲＴＣＰ（ＲＲ）（図１１参照）から直近のＲＴＣＰ（ＳＲ）送信時刻と相手側の装置内部遅延時間(直近のＲＴＣＰ（ＳＲ）受信からＲＴＣＰ（ＲＲ）送信までの時間)を読み出す（Ｓ９１５）。
【００９１】
次に、応答パケット解析部１５２は、読み出したデータを用いて往復時間を計算する（Ｓ９２０）。往復時間は、
往復時間＝ＲＴＣＰ（ＲＲ）受信時刻−ＲＴＣＰ（ＳＲ）送信時刻−相手側の装置内部  遅延時間
の式で計算することができる。次に、この結果を用いて、応答パケット解析部１５２は、往復時間および更新の有無をエコーキャンセラー部１２０の制御部１２１へ通知する（Ｓ９２５）。更新の有無は、応答パケット解析部１５２の内部にある記憶部に記憶されている前回の往復時間を参照することにより判断することができる。
【００９２】
次に、図９（Ｂ）を参照して、相手方のＩＰ電話機１００ｂの測定応答部１６０の動作を説明する。
【００９３】
ＩＰ電話機１００ｂの測定パケット解析部１６２は、ＲＴＣＰパケット送受信部１７０を介してＩＰ電話機１００から測定パケットとしてＲＴＣＰ（ＳＲ）を受信したかどうかを判断し（Ｓ９５０）、受信していなければ（Ｓ９５０：ＮＯ）、受信するまで待つ。測定パケットを受信したと判断したとき（Ｓ９５０：ＹＥＳ）、測定パケットの解析を行う（Ｓ９６０）。具体的には、測定パケット解析部１６２は、ＩＰ電話機１００から送信されてきた測定パケット(図１１のＲＴＣＰ（ＳＲ）)を送信端末の通知（ＳＲ）として、ＲＴＣＰパケット送受信部１７０から受け取り、その測定パケットに記入された送信時刻を読みとり、応答パケット生成部１６４へ渡す。応答パケット生成部１６４は、測定パケット解析部１６２から受け取った直近の測定パケットのＩＰ電話機１００における送信時刻をコピーして応答パケット(図１１のＲＴＣＰ（ＲＲ）)に記入する（Ｓ９６０）。
【００９４】
応答パケット生成部１６４は、装置内部遅延時間として、ＩＰ電話機１００ｂにおける測定パケットの受信時刻から応答パケットの送信時刻までの時間（装置内部遅延時間）をタイマ１３２の計測により算出し（Ｓ９７０）、その装置内部遅延時間を、応答パケットのＤＬＳＲの欄に設定する（Ｓ９８０）。応答パケット生成部１６４は、受信端末の通知（ＲＴＣＰのＲＲ）としてこの応答パケットを、ＲＴＣＰパケット送受信部１７０を介してＩＰ網２００経由でＩＰ電話機１００へ送信する（Ｓ９９０）。尚、往復時間測定部１５０は、往復時間の測定を音声パケットの送受信と同時並行的に行う。往復時間測定の動作は、通話の継続中に定期的に行うことを想定しているが、不定期に行ってもよい。
【００９５】
尚、本実施の形態では、往復時間測定部１５０は、１回の測定結果を往復時間として算出するようにしているが、複数回、往復時間を測定し、複数の測定結果の平均値を往復時間として算出するようにしてもよい。
【００９６】
また、本実施の形態では、測定パケット(図１１のＲＴＣＰ（ＳＲ）)の送信時刻を測定パケット自身に書き込むようにしているが、往復時間測定部内の図示しない記憶部に記憶しておき、応答パケットが返信されてきたときにその記憶部に記憶された、測定パケットの送信時刻を読み出すことにより、往復時間を算出するようにしてもよい。
【００９７】
次に、図１０を参照して、エコーキャンセラー部１２０の動作について詳細に説明する。この動作は、図６、７におけるステップ６４５の「エコーキャンセル処理」の内容に相当する。また、図８におけるステップ８６０も同様に理解することができる。
【００９８】
最初に、図６、７におけるステップ６４５の「エコーキャンセル処理」の内容について説明する。ＲＴＰパケット送受信部１３０は、相手先のＩＰ電話機１００ｂからの音声データを受信する（Ｓ１０００）。
【００９９】
一方、前もって、エコーキャンセラー部１２０の音声データバッファ部１２２は、送信する音声データを蓄積しておく（Ｓ１０１０）。次に、前もって制御部１２１により定められたデータ読み出し位置から、音声データを読み出し（ＳＳ１０２０）、エコー推定部１２４へ渡す。この音声データは、往復時間だけ前に蓄積された音声データとなっている。
【０１００】
エコー推定部１２４は、音声データバッファ部１２２から受け取った音声データをエコー推定部１２４内のフィルタ演算部１２６へ書き込む（Ｓ１０３０）。フィルタ演算部１２６は、フィルタ係数更新部１２５からエコー推定フィルタ係数を受け取り、そのエコー推定フィルタ係数をもとに音声データバッファ部１２２から受け取った音声データに対し、フィルタ演算を行い、エコー抑制信号（疑似エコー）を算出する（Ｓ１０４０）。
【０１０１】
そして、フィルタ演算部１２６は、フィルタ演算の結果得られたエコー抑制信号を減算部１２９に入力させる。そうすると、減算部１２９は、ＲＴＰパケット送受信部１３０から得られた受信した音声データから、エコー抑制信号を減算して得られる音声データを出力し、音声出力部１１０へ渡す。音声出力部１１０は、この音声データをアナログ音声信号に変換して出力する（Ｓ１０５０）。
【０１０２】
一方、エコー推定部１２４のフィルタ係数更新部１２５は、減算部１２９の出力を参照して、残留エコーのエネルギーを算出する（Ｓ１０６０）。そして、フィルタ演算部１２６は、残留エコーのエネルギーを用いて学習同定法または最小二乗法（ＬＭＳ（Least Mean Square））法により、フィルタ演算部１２６におけるエコー推定フィルタのフィルタ係数を算出して更新する（Ｓ１０７０）。
【０１０３】
次に、図８におけるステップ８６０の「エコーキャンセル処理」の内容について説明する。Ｓ８６０の処理に先立ち、ＲＴＰパケット送受信部１３０は、トレーニング信号を送信する（Ｓ８４０）。その後、ＲＴＰパケット送受信部１３０は、相手先のＩＰ電話機１００ｂからのトレーニング応答信号を受信する（Ｓ８５０、Ｓ１０００に相当）。尚、トレーニング処理ではない通話中に、相手側のＩＰ電話機１００ｂが、音声データを受け取ってエコーを発生する場合は、ＩＰ電話機１００ｂの送受話器（音声出力部１１０と音声入力部１４０の一部を構成している）を経由して、ＲＴＰパケット送受信部１３０からエコーの音声データをＩＰ電話機１００へ返している。一方、トレーニング処理の場合は、着呼側でオフフックがされていない（Ｓ７２０：ＮＯ）ので、トレーニング信号は、相手側のＩＰ電話機１００ｂの送受話器を経由しないでＲＴＰパケット送受信部１３０で反射して、トレーニング応答信号としてＩＰ電話機１００に帰還する。このため、相手側のＩＰ電話機１００ｂにおいて、ＲＴＰパケット送受信部１３０は、受け取ったトレーニング信号に対して、送受話器の音響特性に相当するフィルタリングを施した上で、トレーニング応答信号としてＩＰ電話機１００へ返送し、これをＩＰ電話機１００のＲＴＰパケット送受信部１３０が受け取る（Ｓ８５０）ようにしても良い。このようにすれば、より精度の高い効果的なトレーニングを行うことができる。
【０１０４】
一方、前もって、エコーキャンセラー部１２０の音声データバッファ部１２２は、送信するトレーニング信号を蓄積しておく（Ｓ１０１０に相当）。次に、前もって制御部１２１により定められたデータ読み出し位置から、トレーニング信号を読み出し（Ｓ１０２０に相当）、エコー推定部１２４へ渡す。このトレーニング信号は、往復時間だけ前に蓄積されたデータとなっている。
【０１０５】
エコー推定部１２４は、音声データバッファ部１２２から受け取ったトレーニング信号をエコー推定部１２４内のフィルタ演算部１２６へ書き込む（Ｓ１０３０に相当）。フィルタ演算部１２６は、フィルタ係数更新部１２５からエコー推定フィルタ係数を受け取り、そのエコー推定フィルタ係数をもとに音声データバッファ部１２２から受け取ったトレーニング信号に対し、フィルタ演算を行い、エコー抑制信号（疑似エコー）を算出する（Ｓ１０４０に相当）。
【０１０６】
そして、フィルタ演算部１２６は、フィルタ演算の結果得られたエコー抑制信号を減算部１２９に入力させる。そうすると、減算部１２９は、ＲＴＰパケット送受信部１３０から得られた受信したトレーニング応答信号から、エコー抑制信号を減算して得られるデータを出力し、音声出力部１１０へ渡す。音声出力部１１０は、このデータをアナログ音声信号に変換して出力する（Ｓ１０５０に相当）。
【０１０７】
一方、エコー推定部１２４のフィルタ係数更新部１２５は、減算部１２９の出力を参照して、残留エコーのエネルギーを算出する（Ｓ１０６０）。そして、フィルタ演算部１２６は、残留エコーのエネルギーを用いて学習同定法または最小二乗法（ＬＭＳ（Least Mean Square））法により、フィルタ演算部１２６におけるエコー推定フィルタのフィルタ係数を算出して更新する（Ｓ１０７０に相当）。
【０１０８】
本実施の形態では、エコーキャンセラーの学習法として、学習同定法または最小二乗法（ＬＭＳ）法を使用している。学習方法としては、これらに限られず、周知技術であるＲＬＳ（Recursive Least Square）方式その他の方式を使用した場合でも、本発明は適用できる。
【０１０９】
このように、本実施の形態によれば、あらかじめＲＴＣＰパケットを送受信することにより往復時間を測定しておくため、送信した波形信号と、受信したエコー信号との相関演算を行う必要がないので、演算の処理負荷を低減しつつ、リアルタイムに、精度高く、エコーを抑制するエコーキャンセル処理を行う通信装置を実現することができる。さらに通話の間も、定期的に往復時間を測定しているため、伝送特性の変化などがあったとしてもそれに対応する適応的なエコーキャンセル処理を行うことができ、一層精度が高いエコーキャンセル処理を行う通信装置を実現することができる。
【０１１０】
なお、本実施の形態で実現される機能および動作はコンピュータのプログラムにより実現するようにしてもよく、その場合は、そのプログラムを格納する図示しないメモリや制御を行うＣＰＵ等を、ＩＰ電話機１００やターミナルアダプタ４００に備えるものとする。また、プログラムを格納する媒体は外部記憶媒体でもよく、例えば、ＥＰＲＯＭやフラッシュＥＥＰＲＯＭ、ＣＤ−ＲＯＭなどであってもよい。
【産業上の利用可能性】
【０１１１】
本発明は、エコーキャンセル処理に伴う、演算の処理負荷を低減しつつ、リアルタイムに精度高く、エコーを抑制するエコーキャンセル処理を行う通信装置を実現することができるという効果を有し、音声パケットをリアルタイムに送受信するＩＰ電話機に代表される音声通信装置等に有用である。
【図面の簡単な説明】
【０１１２】
【図１】本発明の実施の形態に係る音声通信装置を適用したパケット通信システムの構成例を示すシステム構成図であって、（Ａ）はＩＰ電話機を用いたＩＰ電話システムのシステム構成図、（Ｂ）は一般電話機を用いたＩＰ電話システムのシステム構成図
【図２】図１（Ａ）に示すＩＰ電話機の構成を示すブロック図
【図３】図２および図５に示す音声データバッファ部の構成を示すブロック図
【図４】図２および図５に示すエコー推定部の構成を示すブロック図
【図５】図１（Ｂ）に示すＶｏＩＰターミナルアダプタの構成を示すブロック図
【図６】図２に示すＩＰ電話機の動作全体を示すフロー図
【図７】図２に示すＩＰ電話機の通話開始前にトレーニング処理を含む場合の動作全体を示すフロー図
【図８】通話開始前のトレーニング処理を示すフロー図
【図９】図６、図７および図８に示す往復時間測定処理を示すフロー図であり、（Ａ）は、図２および図５に示すＩＰ電話機等の往復時間測定部の動作を示すフロー図であり、（Ｂ）は、相手方のＩＰ電話機等の測定応答部の動作を示すフロー図
【図１０】図２および図５に示すエコーキャンセラー部の動作を示すフロー図
【図１１】測定パケットと応答パケットの構成を示す図
【符号の説明】
【０１１３】
１００、１００ａ、１００ｂ  ＩＰ電話機
１１０、４１０  音声出力部
１２０  エコーキャンセラー部
１２１  制御部
１２２  音声データバッファ部
１２４  エコー推定部
１２５  フィルタ係数更新部
１２６  フィルタ演算部
１２９  減算部
１３０  ＲＴＰパケット送受信部
１３２  タイマ
１４０、４２０  音声入力部
１５０  往復時間測定部
１５２  応答パケット解析部
１５４  測定パケット生成部
１６０  測定応答部
１６２  測定パケット解析部
１６４  応答パケット生成部
１７０  ＲＴＣＰパケット送受信部
１８０  呼制御部
１９０  呼制御パケット送受信部
２００  ＩＰ網
３００、３００ａ、３００ｂ  一般電話機
４００、４００ａ、４００ｂ  ＶｏＩＰターミナルアダプタ
４３０  ハイブリッド回路
【図１】
2008061147.tif 000003
【図２】
2008061147.tif 000004
【図３】
2008061147.tif 000005
【図４】
2008061147.tif 000006
【図５】
2008061147.tif 000007
【図６】
2008061147.tif 000008
【図７】
2008061147.tif 000009
【図８】
2008061147.tif 000010
【図９】
2008061147.tif 000011
【図１０】
2008061147.tif 000012
【図１１】
2008061147.tif 000013